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 标准中不包含十进制。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。