Android / Java:将数字四舍五入得到无小数

时间:2012-07-09 14:05:05

标签: java integer rounding

如何将十进制数整数为整数。

  

3.50 => 4

     

4.5 => 5

     

3.4 => 3

你是如何用Java做到的?谢谢!

6 个答案:

答案 0 :(得分:24)

具有标准的舍入功能? Math.round()

还有Math.floor()Math.ceil(),具体取决于您的需求。

答案 1 :(得分:9)

您可以使用

int i = Math.round(f); long l = Math.round(d);

其中fd的类型分别为floatdouble

答案 2 :(得分:9)

如果你只使用正数,你也可以使用int i =(int)(d + 0.5)。

编辑:如果你想向上舍入负数(向正无穷大,例如-5.4变为-5),你也可以使用它。如果你想要舍入到更高的幅度(舍入-5.4到-6),你最好使用另一个答案提出的其他功能。

答案 3 :(得分:2)

Java在Math类中提供了一些函数来执行此操作。对于您的情况,请尝试返回5的Math.ceil(4.5)

答案 4 :(得分:2)

new BigDecimal(3.4);
Integer result = BigDecimal.ROUND_HALF_UP;

或者

Int i = (int)(202.22d);

答案 5 :(得分:0)

使用Math.max可以这样做:

(int) Math.max(1, (long) Math.ceil((double) (34) / 25)

这会给你2