最近浮動小数点数演算に起因する調査を行う機会があったので、復習しました。 浮動小数点数(Javaで言うとfloatとかdouble)を使って演算するときは丸め誤差によって意図した値にならないことがあります。これが発生するケースや対策について書いてみました。 しっかり書こうと思ったけど、当然ながらこれについて書いている記事は他にも色々あるし、自分自身他のblogで書いたことがあったので、結構省略していきます。 ちなみに以下のサイトとか分かりやすくて良いですよ。 [Java] 小数点の計算をやるからといってすぐにfloatやdoubleを使ってはいけない 現象 package com.tsukaby.calc; public class App { public static void main(String[] args) { System.out.println(0.7 + 0.2 + 0