BigDecimal的未缩放值是多少?

时间:2015-05-23 08:31:36

标签: java bigdecimal

我正在阅读BigDecimal的文档,我不明白未缩放的含义。任何人都可以用一个例子向我解释吗?谢谢。

这是上下文

  

不可变,任意精度的带符号十进制数。 BigDecimal由任意精度整数未缩放值和32位整数标度组成。如果为零或正数,则比例是小数点右侧的位数。如果为负数,则将该数字的未缩放值乘以10作为否定标度的幂。

2 个答案:

答案 0 :(得分:9)

  

BigDecimal由任意精度整数非标度值和32位整数标度组成

unscaled integer value of arbitrary precision: 87866787879879879768767554645434
scale: 3
  

如果为零或正数,则刻度是小数点右边的位数。

actual decimal value: 87866787879879879768767554645.434
  

如果是负数,则数字的未缩放值乘以10来表示比例的否定。

unscaled integer value: 87866787879879879768767554645434
scale: -3
actual decimal value: 87866787879879879768767554645434000

答案 1 :(得分:2)

BigDecimal是一个任意精度整数,具有32位整数,即enter image description here

例如 -

  1. 878667是一个具有精度的非标度整数值(计数为 在应用2的标度后,即enter image description here - > 8786.67(输出)。在应用-2的等级后,即enter image description here - > 87866700(输出)。
  2. 0.0000009是缩放的整数值,精度为1(有效位数),比例为7,因此未缩放值 - > 9即enter image description here