在Java中转换Math.ceil

时间:2016-09-23 15:43:21

标签: java math methods rounding ceiling

我想对数字(33.1504352455)执行上限函数,使其返回33.16。当使用天花板时,它当然会返回34.0。如何移动天花板所作用的角色,使其返回33.16?

2 个答案:

答案 0 :(得分:2)

你可以尝试

number = Math.ceil(oldnumber * 100) / 100.0;

但这可能会受到浮点数学变幻莫测的影响。

答案 1 :(得分:2)

为了获得更好的精确度,请始终选择BigDecimal。你可以这样做:

BigDecimal b = new BigDecimal(33.1504352455);
b = b.setScale(2, RoundingMode.CEILING)
System.out.println(b);