java - 为什么 BigDecimal 的标度不是 BigInteger?

标签 java biginteger bigdecimal

为什么是scale领域BigDecimal不是BigInteger ?我认为目前它可能没有意义,因为具有这么多小数位的计算可能永远不会执行,但对于 future 来说,宁愿使用 BigInteger 是否有意义? ?

最佳答案

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

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

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

关于java - 为什么 BigDecimal 的标度不是 BigInteger?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33720891/

相关文章:

javascript - 存储在 javascript 变量中的 MySQL BigInt 最大值

java - BigInteger 和 BigDecimal 的平方根和++ 运算符

java - 连接两个数字

java - BigDecimal 带刻度除法

java - 使用 DecimalFormat 的奇怪 BigDecimal 值

java - 非静态初始化 block ——我有更多的控制权吗?

java - 带有 CloseableHttpClient 的 POST 请求

java - 传递到另一个 Activity 后,共享首选项将不会加载

java - 使用 string.split 时的 ArrayIndexOutOfBounds

java - Hibernate 创建 SQLQuery。如何获取 boolean 值