我正在尝试将 float 舍入到 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有关可用的每个舍入的更多信息。
关于java - float 舍入到2位小数java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17577446/