JavaScript の BigDecimal

Shiv Yadav 2023年10月12日
JavaScript の BigDecimal

この記事では、JavaScript での BigDecimal の使用について説明します。

JavaScript での BigDecimal の使用

JavaScript で BigDecimal がどのように機能するかを理解する前に、BigDecimal について知っておく必要があります。BigDecimal は、32 ビット整数スケールのスケーリングされていない任意精度の整数値で構成されます。

スケールがゼロまたは正の場合、小数点の右側の桁数です。整数が負の場合、スケーリングされていない値に 10 を掛けてスケールの否定の累乗にします。

BigDecimal は、2 進浮動小数点整数の 10 進表現を使用して、等式とハッシュコードを決定します。これは、正確な形式を使用する 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() メソッドは、1つの BigDecimal オブジェクト値を他の値に追加します。newDBigDecimal オブジェクトであり、newDk に追加されます。

multiply() メソッドは 1つの BigDecimal オブジェクト値を別の値に乗算しますが、divide() メソッドは 1つの BigDecimal 値を別の値で除算します。

Double または Float を BigDecimal に変換する場合、Double および Float の 2 進小数表現は単純に小数表現に変換されないため、注意が必要です。

出力:

JavaScript での BigDecimal の使用

BigDecimal は、財務データの算術演算や、JavaScript 整数(IEEE-754 浮動小数点)型を超えるものに最適です。Decimal は新しい 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