我有一些数据,我试图用一个不断增加的分母来精确地操作。
请假定分子总是有小数。
我在文档中看到,divide(BigDecimal divisor)实际上会减少标度,这似乎很奇怪,因为当我理解“刻度”的用法时,小数点以上的数字数应该在除法后增加。
我还在文档中看到,multiply(BigDecimal multiplicand)增加了规模。根据我对小数点的理解,这也是没有意义的,因为需要小数点以上的数字的两个乘数的可能性降低了。
这些是在文档中输入的吗?
如果没有,我对比例的理解是否不正确?
如果没有,如何通过一个不断增加的分母来保持精度,以增加小数点以上的数字数?
发布于 2014-01-26 20:59:12
这实际上就是http://en.wikipedia.org/wiki/Scientific_notation。正如在文档中所述,BigDecimal的值是:
unscaledValue × 10^(-scale)因此,将两个BigDecimals相乘相当于乘以它们的unscaledValues和添加它们的scales:
a * b
== (uA * 10^-sA) * (uB * 10^-sB)
== (uA * uB) * 10^-(sA + sB)https://stackoverflow.com/questions/21368986
复制相似问题