HOWTO · JavaScript

BigDecimal 在 JavaScript 中的應用

本文將幫助你瞭解 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 標準中不包含十進位制。