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。
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/206188.html原文链接:https://javaforall.net
