Swiftで小数(Float, Double)での浮動小数点誤差を解決する方法

Pocket

Swiftに限ったことではないが、小数(Float, Double)の計算ではとても細かい誤差がでる。

これの理由はSwiftに限ったことではないので割愛するが、気になる人は以下の記事などがわかりやすいかと思う。

浮動小数点数の誤差

Swiftで小数(Float, Double)での浮動小数点誤差が出る計算

出力結果を見ればわかるように誤差が生じ、思い通りの計算結果にならない。

これを解決するには NSDecimalNumber を使えば良い。

Swiftで小数の誤差をなくすためにNSDecimalNumberを使う

このように厳密な計算を行う必要がある場合は、NSDecimalNumberを使うことを覚えておこう。


おわりに

最近、Q&Aの teratail が割と便利なのでおすすめ。

ボクがリリースしたアプリも役に立ったらDLしてみてね -> iOSアプリ
スポンサーリンク
  • このエントリーをはてなブックマークに追加