关于java:BigDecimal-javalangArithmeticException

应用BigDecimal的进行除法运算时,

public BigDecimal divide(BigDecimal divisor) 

当遇到后果为无限小数时,如1/3这种状况,如果不指定保留小数位数,就是出现异常:

java.lang.ArithmeticException: 
Non-terminating decimal expansion; 
no exact representable decimal result.
    at java.math.BigDecimal.divide(BigDecimal.java:1693)

因而须要应用divide的重载办法:

public BigDecimal divide(BigDecimal divisor, int scale, RoundingMode roundingMode)

scale为要保留的小数位数
roundingMode为小数保留形式

评论

发表回复

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

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理