BigDecimal与智能精度(尺度)
问题描述:
根据小数圆度为数字BigDecimal与智能精度(尺度)
BigDecimal num = new BigDecimal(25)
BigDecimal result = num.divide(new BigDecimal(13), 7, RoundingMode.HALF_EVEN)
// 1.9230769
但
BigDecimal result = num.divide(new BigDecimal(10), 7, RoundingMode.HALF_EVEN)
// 2.5000000 that should be 2.5
大概分析其余如何设置通用比例?
API中是否有这种情况?
答
看在https://docs.oracle.com/javase/8/docs/api/java/math/BigDecimal.html#stripTrailingZeros--
BigDecimal bd = new BigDecimal("235.000");
System.out.println(bd.stripTrailingZeros());
'BigDecimal.stripTrailingZeros()'也许?例如'BigDecimal result = num.divide(new BigDecimal(13),7,RoundingMode.HALF_EVEN).stripTrailingZeros();'See: [BigDecimal.stripTrailingZeros()](https://docs.oracle.com/javase/7 /docs/api/java/math/BigDecimal.html#stripTrailingZeros())和[从Java中的BigDecimal删除尾随零](https://*.com/questions/17770886/removing-trailing-zeros-from-bigdecimal- in-java) –
@djbrown它的工作原理10x你可能会回答这个问题我会接受你的回答 –
谢谢,但这个问题已经在我发现的另一个问题中得到解答,所以在重新回答时没有价值,请参阅链接以上。这应该关闭重复或删除。 –