BigNumber(JavaScript)の計算について
Q&A
Closed
解決したいこと
JavaScriptの BigNumber で割り算の計算が合わないよう?で困ってます。
有名なライブラリなので、不具合ではなく私の使い方の問題かと思うのですが自分で解決できなく...、すみませんがよろしくお願い致します。
発生している問題・エラー
const 左 = '0.0281134454724652963909385115760464';
const 右 = '464.0781427510956';
const 正答 = '0.000060579119942616444';
// 左 ÷ 右 = 正答
console.log(`${BigNumber(左).div(右)} ← BigNumberでの答え`);
console.log(`${正答} ← 正答`);
// ↑の出力結果は↓
// 0.00006057911994261644 ← BigNumberでの答え
// 0.000060579119942616444 ← 正答
BigNumber での結果が違うようなのです...。
"正答" は自分で計算したものですが以下のサイトでも確認しているので合っていると思います。
https://ja.wolframalpha.com/input?i=0.0281134454724652963909385115760464%C3%B7464.0781427510956
また、割り算なので答に除数(わる数:右)を掛けると商(わられる数:左)になるはずなので
その確認として以下のようにしてみましたが、結果が違うのでやはり計算がずれているように思います。
console.log(BigNumber(左).div(右).times(右));
console.log(左); // ↑と同じになるはずなのにならない。
// ↑の出力結果は↓
// 0.028113445472465294534625940571664
// 0.0281134454724652963909385115760464
よろしくお願い致します。
0 likes