2017-10-18 100 views
0

根据小数圆度为数字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中是否有这种情况?

+2

'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://stackoverflow.com/questions/17770886/removing-trailing-zeros-from-bigdecimal- in-java) –

+0

@djbrown它的工作原理10x你可能会回答这个问题我会接受你的回答 –

+1

谢谢,但这个问题已经在我发现的另一个问题中得到解答,所以在重新回答时没有价值,请参阅链接以上。这应该关闭重复或删除。 –

回答