java - BigDecimal,setScale 问题

标签 java bigdecimal

我正在这样做:

(obj.getValue().divide(weight)).setScale(3, RoundingMode.HALF_DOWN)

我收到此错误:

java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result.

我需要将 setScale 放在哪里?

谢谢

最佳答案

或者你还有 BigDecimal 的其他公共(public)方法:

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

应用于您的示例:

obj.getValue().divide(weight, 3, RoundingMode.HALF_DOWN);

关于java - BigDecimal,setScale 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32347920/

相关文章:

java - 关于double和bigdecimal的精度问题

java - 如何将 BigDecimal 限制为固定分数?

java - Android - 抽屉布局 - 关闭抽屉导致空指针异常

java - 用Java解析EDI消息(HL7)

java - 格式 BigDecimal jsf 2.0

java - 如果不进行货币金额的计算,是否需要使用 BigDecimal?

java - 创建大十进制对象时出错

java - 我为 Java Spring 使用哪个主类?

java - Apache UIMA 解析多语言内容

java - 使用两个字符java多次分割字符串