首页 > 解决方案 > 我什么时候应该使用 bignumber 库?

问题描述

我试图了解何时使用 bignumber 库。

问题1)。众所周知,JavaScript 对 Number 类型的上限是 2^53,但它还有另一种类型 BigInt,它没有限制。为什么我们要使用 bignumber 库?是因为它也适用于小数吗?还有其他原因吗?

问题 2)假设我有一个x = new BigNumber(10000000000000000000);,现在我想将它乘以 30。我是否也应该先将 30 转换为BigNumber然后相乘,或者这样可以吗:30 * x?似乎我没有将 30 转换为BigNumber,它仍然可以正常工作。我什么时候应该mul从 bignumber 库中使用?

标签: javascriptbignum

解决方案


为什么我们要使用 bignumber 库?是因为它也适用于小数吗?

是的。大数字库通常适用于任意精度的浮点数,而大int库(或内置数据类型)只能处理整数。
此外,还有很多实现大整数数学的库,这些库BigInt在 JavaScript 原生支持之前就已经存在,这是该语言的一个相当新的补充。这也意味着在旧浏览器中需要一个库。

现在我想将它乘以 30。我是否也应该先将 30 转换为 bigNumber?

不,这通常不是必需的(但当然取决于库)。

这样可以吗:30 * x

不,那不行。如果您使用的是 bignumer 库,则需要使用它的方法(如x.multiply(30)),而不是*仅适用于 JavaScript 内置数据类型的运算符。


推荐阅读