BigDecimal转int数据四舍五入

版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/amoscn/article/details/81234099
    new BigDecimal("6749.13")
                .multiply(new BigDecimal("1.5"))
                .intValue();

解析:

6749.13 * 1.5 = 10123.695

实际结果=10123,可见intValue是截取小数的。

故在将BigDecimal转int时需要先将小数位设置为0,且设置四舍五入。

    new BigDecimal("6749.13")
                .multiply(new BigDecimal("1.5"))
                .setScale(0, BigDecimal.ROUND_HALF_UP)
                .intValue();

最后结果 = 10124,结果正确。

小问题,搞了半天,证明自己对一些方法理解得不够透彻,反思ing。

猜你喜欢

转载自blog.csdn.net/amoscn/article/details/81234099