我想把一个浮点数加2个小数.
我有2个浮点值:
1.985 29.294998
他们都需要四舍五入,所以我结束了以下:
1.99 29.30
当我使用以下方法:
public static Float precision(int decimalPlace,Float d) { BigDecimal bd = new BigDecimal(Float.toString(d)); bd = bd.setScale(decimalPlace,BigDecimal.ROUND_HALF_UP); return bd.floatValue(); }
结果是:
1.99 29.29
解决方法
由于您使用BigDecimal.ROUND_HALF_UP,因此29.294998四舍五入为29.29.您可能想要使用BigDecimal.ROUND_UP.
检查BigDecimal doc有关每个四舍五入的更多信息.