为什么BigDecimal规模不是BigInteger?

时间:2015-11-15 14:37:12

标签: java biginteger bigdecimal

为什么id | album_name | artist_id | created_at | updated_at | user_id -----+-------------+-----------+----------------------------+----------------------------+--------- 2 | SuperRando | 3 | 2015-11-13 00:03:51.790759 | 2015-11-13 00:03:51.790759 | 1 3 | SuperRando | 3 | 2015-11-13 00:19:08.438907 | 2015-11-13 00:19:08.438907 | 2 的{​​{1}}字段不是scale?我认为目前它可能没有任何意义,因为可能从未执行具有那么多小数位的计算,但是对于将来使用BigDecimal而言是否有意义?

1 个答案:

答案 0 :(得分:3)

BigDecimal的比例是它存储在小数点右侧的位数。这是一个内存量,因为这些数字实际上是存储的,并且它是工作量,因为BigDecimal上的大多数操作都必须对所有操作都有效。那些数字。

使用占用大量内存或不适合int的工作的BigDecimal永远不是一个好主意,因此int用于扩展。这与int用于字符串长度和集合大小等的原因相同。

在极少数情况下,合理数量的内存或工作不适合int,它肯定适合长期。例如,Longs用于文件大小和位置。永远不需要BigInteger。