小编j.b*_*rio的帖子

Java DecimalFormat HALF_UP舍入错误

我使用的是HALF_UP舍入模式DecimalFormat的,我有地方工作不正常的escenery,我不知道为什么.

DecimalFormat df = new DecimalFormat("#.##");
df.setRoundingMode(RoundingMode.HALF_UP);
float tmp = (float) (0.5 * 1.05);
df.format(tmp);
float mul = Float.parseFloat(df.format(tmp));
Run Code Online (Sandbox Code Playgroud)

mul变量的值,我希望有0.53值,我收到0.52值.

我正在使用Java 1.8.0_131.

已解决的最终法规

BigDecimal mul = new BigDecimal(0.5).multiply(new igDecimal(1.05));
mul = mul.setScale(2, RoundingMode.HALF_UP);
System.out.println(mul);
Run Code Online (Sandbox Code Playgroud)

java rounding bigdecimal

0
推荐指数
1
解决办法
458
查看次数

标签 统计

bigdecimal ×1

java ×1

rounding ×1