题目描述
学C语言了,可以编程解决很多问题,但没有一个C语言中的函数能完成四舍五入。
请编程解决这个问题。如输入2.055 0.154 10.159 99.999,则输出2.06 0.15 10.16 100.00。
输入格式
输入有若干行,每行一个浮点数x,都是三位小数
输出格式
输出四舍五入后的两位小数x。
输入样例
2.055
0.154
10.159
99.999
3.565
输出样例
2.06
0.15
10.16
100.00
3.57
import java.math.BigDecimal;
import java.util.*;
public class Main
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
while(in.hasNextDouble())
{
double tpD = in.nextDouble();
BigDecimal bigD = new BigDecimal(tpD);
double tpD2 = bigD .setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
System.out.println(String.format("%.2f",tpD2));
}
}
}
很奇怪,在本地运行一点问题没有,但是平台上一直过不了,欢迎各位指正
new BigDecimal()).setScale()方法用于格式化小数点,有多种小数保留模式