具体来说,我想知道是否可以确定小数点后两位之后的所有内容是否始终为零。
例如,在这种情况下:
BigDecimal m1 = new BigDecimal("15");
BigDecimal m2 = new BigDecimal("2");
BigDecimal m3 = m1.divide(m2, 5, BigDecimal.ROUND_CEILING);
m3 is equal to 7.50000 (and there will still be 0s even if you increase the precision)
情况并非如此的示例
BigDecimal m1 = new BigDecimal("11.24");
BigDecimal m2 = new BigDecimal("6");
BigDecimal m3 = m1.divide(m2, 5, BigDecimal.ROUND_CEILING);
m3 is equal to 1.87334
另一种可能情况并非如此(无法想到除法值)是当
m3 is equal to 7.50000001
感谢您的帮助(如果答案简单/简单,我深表歉意!)
最佳答案
内置的stripTrailingZeros
怎么样。那么您就不必进行额外的舍入计算。
m3.stripTrailingZeros().scale() <= 2
关于java - 是否可以找出 BigDecimal 在某个点之后是否只重复出现零?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30628902/