HOWTO · JavaScript
BigDecimal 在 JavaScript 中的应用
本文将帮助你了解 BigDecimal 在 JavaScript 中的使用。
本文将讨论 JavaScript 中 BigDecimal 的用法。
在 JavaScript 中使用 BigDecimal
在研究 BigDecimal 如何在 JavaScript 中工作之前,你必须了解 BigDecimal。BigDecimal 由具有 32 位整数刻度的未缩放任意精度整数值组成。
如果小数位数为零或正数,则为小数点右侧的位数。如果整数为负数,则将未缩放的值乘以 10 的负数次方。
BigDecimal 使用二进制浮点整数的十进制表示来确定相等和哈希码。这与使用精确形式的 Long 和 Double 数字之间的转换产生不同的结果。
请注意,在运行代码之前,你必须安装 BigDecimal 的 npm 包。
将以下代码另存为 js 扩展文件。
let bDecimal = require('bigdecimal');
let num = new bDecimal.BigInteger('123456abcdefghijklmn7890', 25);
console.log('num is ' + num);
let newD = new bDecimal.BigDecimal(num);
let k = new bDecimal.BigDecimal('4567890.12345612345678901234567890123');
console.log('newD * k = ' + newD.multiply(k));
let two = new bDecimal.BigDecimal('2');
console.log('Average = ' + newD.add(k).divide(two));
你可以看到不同的方法,例如 multiply()、add()、divide()。add() 方法将一个 BigDecimal 对象值添加到另一个 newD 是 BigDecimal 对象的位置,newD 添加到 k。
multiply() 方法将一个 BigDecimal 对象值乘以另一个,而 divide() 方法将一个 BigDecimal 值除以另一个值。
将 Double 或 Float 转换为 BigDecimal 时,必须小心,因为 Double 和 Float 的二进制小数表示不会简单地转换为十进制表示。
输出:

BigDecimal 非常适合金融数据算术或任何超过 JavaScript 整数(IEEE-754 浮点)类型的数据。新的 ECMAScript 标准中不包含十进制。