`
挪威的幽灵
  • 浏览: 39976 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

BigDecimal不整除的一个异常

阅读更多

金额的数据类型是BigDecimal
通过BigDecimal的divide方法进行除法时当不整除,出现无限循环小数时,就会抛异常的,异常如下:java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result. at java.math.BigDecimal.divide(Unknown Source)

应用场景:一批中供客户的单价是1000元/年,如果按月计算的话1000/12=83.3333333333....

解决之道:就是给divide设置精确的小数点divide(xxxxx,2, BigDecimal.ROUND_HALF_EVEN)

1
0
分享到:
评论
1 楼 gazeldx 2011-03-22  
这Java不是给咱程序员找麻烦嘛,就不能明白我需要四舍五入插入我的值吗!

相关推荐

Global site tag (gtag.js) - Google Analytics