第3章 演算子 / 第3回 模擬試験

PHPの浮動小数点数に関する次の記述のうち、正しいものはどれか。

浮動小数点数の演算は、常に完全に正確な結果を返す。
`0.1 + 0.2 === 0.3`は、PHPでは常に`true`になる。
浮動小数点数を比較する際は、誤差を考慮した比較方法が推奨される。 正解
浮動小数点数はPHPでは整数型に自動的に丸められる。
解説
浮動小数点数は内部的に2進数で近似表現されるため誤差が生じることがあり、`0.1 + 0.2 === 0.3`は`false`になります。誤差を考慮した比較(差の絶対値が十分小さいか等)が推奨されます。(参照: 独習PHP 第4版 第3章 演算子 3.1.4節 浮動小数点数の演算に注意 p.92)