JAVA回合最接近的数字

时间:2015-03-24 05:58:45

标签: java math

如何将十进制数舍入到最接近的"整数"号码?

4 个答案:

答案 0 :(得分:2)

您可以尝试使用

float x = (float)Math.ceil(x); 

float y = (float)Math.round(y);

另请注意,我已将它们转换回浮动状态,因为当您将double转换为float时可能会失去精度。

答案 1 :(得分:0)

一行答案!

 public static long roundToClosestLong(long num, long div) {
         return (long) num / div + ((double) (num % div) / div < 0.5 ? 0 : 1);
 }

答案 2 :(得分:0)

您可以使用java.lang.Math类。

  1. Math#round(double)接受double作为参数并返回long
  2. Math#round(float)接受float作为参数并返回int

答案 3 :(得分:0)

你可以这样做:

int result = (int) (yourValue + 0.5);

如果您只需要简单的舍入,这可能是比Math.round(yourValue)

更高效的解决方案