java round half down_Java8中的RoundingMode.HALF_DOWN问题

我使用的是jdk 1.8.0_45,我们的测试发现了一个错误.

当决定舍入的最后一个小数为5时,RoundingMode.HALF_DOWN与RoundingMode.HALF_UP的工作方式相同.

我发现了RoundingMode.HALF_UP的相关问题,但它们在更新40中得到修复.我还在oracle中添加了一个bug,但根据我的经验,它们确实没有响应.

package testjava8;

import java.math.RoundingMode;

import java.text.DecimalFormat;

public class Formatori {

public static void main(String[] args) {

DecimalFormat format = new DecimalFormat("#,##0.0000");

format.setRoundingMode(RoundingMode.HALF_DOWN);

Double toFormat = 10.55555;

System.out.println("Round down");

System.out.println(format.format(toFormat));

format.setRoundingMode(RoundingMode.HALF_UP);

toFormat = 10.55555;

System.out.println("Round up");

System.out.println(format.format(toFormat));

}

}

实际结果:

向下舍入

10.5556

围捕

10.5556

预期结果(使用jdk 1.7获得):

向下舍入

10.5555

围捕

10.5556

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值