BigDecimal转int数据四舍五入

BigDecimal转int数据四舍五入newBigDecima 6749 13 multiply newBigDecima 1 5 intValue 解析 6749 13 1 5 10123 695 实际结果 10123 可见 intValue 是截取小数的 故在将 BigDecimal 转 int 时需要先将小数位设置为 0

 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

(0)
上一篇 2026年3月19日 下午4:15
下一篇 2026年3月19日 下午4:16


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号