如果浮点数返回整数值,如何舍入?并且,如果它是这样的,我该如何舍入:
5/2 = 2.5
而不是这样的:
5/2 = 2.50000000
答案 0 :(得分:4)
double
不允许您指定它具有的小数位数;你可以设置任意数量的0,但它们仍然在那里。 (注意,在数学上,您为5/2显示的两个值是相同的。)您可以做的是控制显示的数量;由于您还没有指定尝试显示此值的方式,因此我无法帮助您修改它以限制要显示的小数位数。
答案 1 :(得分:0)
如果需要,您可以对双倍进行一些修改,例如使用DecimalFormat类的setRoundingMode
方法以及RoundingMode枚举。
如前所述,2.5
与2.500000
中的double
相同,您无需更改其数字。
我猜你打算打印你的双倍,你会在输出中得到许多不需要的数字。在这种情况下,我建议您将双重转换为格式化字符串并使用它:
System.out.println(String.format("%.2f", myDouble));
答案 2 :(得分:0)
我觉得你有点困惑...
2.5和2.50000000是精确相同的东西!
它们的写法不同。
我真的不明白你想要实现的目标,但你可以像这样对待浮动:
float result = Math.round(someFloat);
如果您总是想要向上或向下舍入而不管使用的数字是什么:
float result = (float)Math.ceil(someFloat);
或
float result = (float)Math.floor(someFloat);