为什么BigDecimal比双精度更精确?

Obl*_*obl 1 java double bigdecimal

我想知道BigDecimal和之间的确切区别double.我知道这BigDecimaldouble你更准确,你应该使用前者进行计算.

为什么它更精确?为什么不能自定义double以便它的工作方式如何BigDecimal?或者计算有什么好处double

NIN*_*OOP 5

BigDecimal的

不可变的,任意精度的带符号十进制数.BigDecimal由任意精度整数非标度值和32位整数标度组成.如果为零或正数,则比例是小数点右侧的位数.如果是负数,则将数字的未缩放值乘以10来表示比例的否定.因此,BigDecimal表示的数字的值是(unscaledValue×10-scale).

A Double具有一定的精度.

编辑: BigDecimal是一个真实的对象,而不是一个原始对象.因此,它抽象数字表示并且不受物理(读取存储器)限制的约束. 礼貌: Max Leske

  • 另外:`BigDecimal`是一个真实的对象,而不是一个原始对象(与`double`相对.因此,它抽象数字表示并且不受物理(读取内存)限制的约束. (3认同)