在Java中,如果浮点数是整数,如何对其进行四舍五入?

在Java中,如果浮点数是整数,如何对其进行四舍五入?,java,rounding,Java,Rounding,如果浮点数返回整数值,如何对其进行四舍五入?如果是这样的话,我该怎么转 5/2=2.5 不是这样的: 5/2=2.50000000Adouble不允许您指定其小数位数;您可以将任意数量的设置为0,但它们仍然存在。(请注意,从数学上讲,您为5/2显示的两个值是相同的。)您可以做的是控制显示多少;由于您尚未指定如何尝试显示此值,因此我无法帮助您修改它以限制要显示的小数位数。只要需要,您可以对double进行一些修改,例如使用类的setRoundingMode方法以及枚举 如前所述,2.5与2.500

如果浮点数返回整数值,如何对其进行四舍五入?如果是这样的话,我该怎么转
5/2=2.5
不是这样的:
5/2=2.50000000
A
double
不允许您指定其小数位数;您可以将任意数量的设置为0,但它们仍然存在。(请注意,从数学上讲,您为5/2显示的两个值是相同的。)您可以做的是控制显示多少;由于您尚未指定如何尝试显示此值,因此我无法帮助您修改它以限制要显示的小数位数。

只要需要,您可以对double进行一些修改,例如使用类的
setRoundingMode
方法以及枚举

如前所述,
2.5
2.500000
中的
double
相同,您不必更改其数字

我猜你是想打印你的double,结果输出中有很多不需要的数字。在这种情况下,我建议您将double转换为格式化字符串,并按如下方式使用:

System.out.println(String.format("%.2f", myDouble));

你有点困惑,我想…
2.5和2.50000000是完全相同的东西
它们只是写得不同而已

我真的不明白您想要实现什么,但您可以像这样对浮动进行取整:

float result = Math.round(someFloat);
如果您总是想向上或向下取整,而不管使用什么数字:

float result = (float)Math.ceil(someFloat);

float result = (float)Math.floor(someFloat);