JavaScriptの小数計算の誤差
JavaScriptの数値型はIEEE754 倍精度浮動小数点数
IEEE754の小数計算の誤差が原因
https://gyazo.com/633a18058aa094826044d650ab84a294
#WIP
https://github.com/MikeMcl/big.js/wiki
big.js
https://github.com/MikeMcl/big.js
最もシンプル
サイズが小さい
NaNやInfinityを扱えない
6kb
tsの定義がない
bignumber.js
2進、8進、16進数などもサポート
decimal.js
最もできることが多い
2進、8進、16進数などもサポート
もともとbignumber.jsに非整数の冪をサポートする機能を追加することで開発された
精度が小数点以下の桁数ではなく有効桁数で指定され、全ての計算がその精度に丸められる
非整数の冪や三角関数、指数関数、対数関数などもサポート
https://zenn.dev/uhyo/articles/javascript-math-accuracy
#??
どう対処するのか
整数に戻してから計算すれば良い
これもあまり良くない
https://qiita.com/k_moto/items/0b576a3351b77fb0aa98
この記事の内容は全体的に微妙
なぜよくない #??
https://blog.asial.co.jp/1191
どうやって解決している #??
BigDecimalとか何が違う?