- ベストアンサー
実数の計算結果について
System.out.println(1.78-1.18); という文を実行すると、0.6000000000000001という結果になってしまうのは何故なのでしょうか?他の数でも、小数点以下の最後に誤差?が出たり出なかったりします。 初心者なものでどうぞよろしくお願い致します。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
既出の質問です。 浮動小数点だからそうなるのです。 有効数字は15桁なのでそれ以外は 誤差の範囲です。
System.out.println(1.78-1.18); という文を実行すると、0.6000000000000001という結果になってしまうのは何故なのでしょうか?他の数でも、小数点以下の最後に誤差?が出たり出なかったりします。 初心者なものでどうぞよろしくお願い致します。
既出の質問です。 浮動小数点だからそうなるのです。 有効数字は15桁なのでそれ以外は 誤差の範囲です。
お礼
回答ありがとうございました。ということは、有効数字以下は切り捨てて使うということになるのでしょうか。とりあえずまた調べてみます。