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