JavaScript  少数の計算について

0



スポンサーリンク




やりたいこと

○桁以下を四捨五入したい。

例)
1.005を小数第2位で四捨五入。

期待値)
1.01になってほしい。

ダメな例

100倍してMath.roundを使い四捨五入、その後100で割る。

しかし、1.005*100をすると1100.49999999999999となる。

結果、四捨五入すると100となり、100で割ると1になる。

解決策1 : BigNumberの使用

ライブラリを使った方法。

今回は、BigNumberというライブラリを使用した。

四則演算や切り捨て切り上げ、四捨五入などをきちんと計算してくれる。

BigNumberというクラスで管理されているため、Number型や、String型にする場合のメソッドも用意されている。

解決策2 : 文字列変換

小数を文字列に変換し、整数にしてから四捨五入する。

もとの数値に対して*10などで整数にするやり方ではダメで、文字列にして小数点(.)を削除する必要がある。


スポンサーリンク




コメントを残す