如果它是一个整体,如何在Java中舍入一个浮点数?

时间:2014-12-27 17:15:23

标签: java rounding

如果浮点数返回整数值,如何舍入?并且,如果它是这样的,我该如何舍入: 5/2 = 2.5 而不是这样的: 5/2 = 2.50000000

3 个答案:

答案 0 :(得分:4)

double不允许您指定它具有的小数位数;你可以设置任意数量的0,但它们仍然在那里。 (注意,在数学上,您为5/2显示的两个值是相同的。)您可以做的是控制显示的数量;由于您还没有指定尝试显示此值的方式,因此我无法帮助您修改它以限制要显示的小数位数。

答案 1 :(得分:0)

如果需要,您可以对双倍进行一些修改,例如使用DecimalFormat类的setRoundingMode方法以及RoundingMode枚举。

如前所述,2.52.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);