wvp*_*wvp 10 java floating-point decimal rounding bigdecimal
我试图将浮点数舍入到2位小数.
我有2个浮动值:
1.985
29.294998
Run Code Online (Sandbox Code Playgroud)
它们都需要四舍五入,所以我最终得到以下内容:
1.99
29.30
Run Code Online (Sandbox Code Playgroud)
当我使用以下方法时:
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();
}
Run Code Online (Sandbox Code Playgroud)
结果是:
1.99
29.29
Run Code Online (Sandbox Code Playgroud)
Jon*_*eau 11
因为你正在使用BigDecimal.ROUND_HALF_UP
,29.294998
所以四舍五入29.29
.您可能想要使用BigDecimal.ROUND_UP
.
检查BigDecimal doc以获取有关每个舍入的更多信息.
归档时间: |
|
查看次数: |
18858 次 |
最近记录: |