BigDecimal 在 JavaScript 中的应用

Shiv Yadav 2024年2月15日
BigDecimal 在 JavaScript 中的应用

本文将讨论 JavaScript 中 BigDecimal 的用法。

在 JavaScript 中使用 BigDecimal

在研究 BigDecimal 如何在 JavaScript 中工作之前,你必须了解 BigDecimalBigDecimal 由具有 32 位整数刻度的未缩放任意精度整数值组成。

如果小数位数为零或正数,则为小数点右侧的位数。如果整数为负数,则将未缩放的值乘以 10 的负数次方。

BigDecimal 使用二进制浮点整数的十进制表示来确定相等和哈希码。这与使用精确形式的 Long 和 Double 数字之间的转换产生不同的结果。

请注意,在运行代码之前,你必须安装 BigDecimalnpm 包。

将以下代码另存为 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 对象值添加到另一个 newDBigDecimal 对象的位置,newD 添加到 k

multiply() 方法将一个 BigDecimal 对象值乘以另一个,而 divide() 方法将一个 BigDecimal 值除以另一个值。

将 Double 或 Float 转换为 BigDecimal 时,必须小心,因为 Double 和 Float 的二进制小数表示不会简单地转换为十进制表示。

输出:

在 JavaScript 中使用 BigDecimal

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

作者: Shiv Yadav
Shiv Yadav avatar Shiv Yadav avatar

Shiv is a self-driven and passionate Machine learning Learner who is innovative in application design, development, testing, and deployment and provides program requirements into sustainable advanced technical solutions through JavaScript, Python, and other programs for continuous improvement of AI technologies.

LinkedIn

相关文章 - JavaScript Math