Java中BigDecimal的一个除法异常


保留两位小数
比如:
a=b.setScale(2,BigDecimal.ROUND_HALF_UP)

java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result.
说明遇到除不尽的情况了,需要指定商的小数精度和舍入模式。
比如:
a=b.divide(c,2,RoundingMode.HALF_UP)
posted @ 2017-11-23 11:29  幸福+  阅读(187)  评论(0)    收藏  举报
编辑推荐:
· C# 锁机制全景与高效实践:从 Monitor 到 .NET 9 全新 Lock
· 一则复杂 SQL 改写后有感
· golang中写个字符串遍历谁不会?且看我如何提升 50 倍
· C# 代码如何影响 CPU 缓存速度?
· 智能桌面机器人:使用 .NET 为树莓派开发 Wifi 配网功能
阅读排行:
· 一则复杂 SQL 改写后有感
· 接口被刷百万QPS,怎么防?
· C# 锁机制全景与高效实践:从 Monitor 到 .NET 9 全新 Lock
· 一个开源免费、功能丰富的 WPF 自定义控件资源库
· 提升Avalonia UI质感,跨平台图标库选型实践
点击右上角即可分享
微信分享提示