Last Updated 2004/02/18
Programming Tips Visual C++  索 引 
double型if文
2004/02/18

double などの実数は == を使用して比較してはいけない.
0.1 などは無限小数となり,誤差を含んでいる.
1.0 + 0.1 + 0.1 は 1.2 とは微妙に違う値になるはずである.

比較するなら以下の様にする.

if( fabs(dVal - 1.2) < 0.001 ) // dVal が 1.2 なら


参照
前後のTips
double型if文

DSS ProgrammingTipsCGI Ver2.01