PHPの小数点の罠
PHPで小数点にかかる計算をするときの注意点です。
以下は普通に考えると0.8になります。
var_dump(floor((0.1+0.7)*10));
しかし、結果は float(7) になります。
これは浮動小数点の誤差が関係しているらしいです。
https://www.php.net/manual/ja/language.types.float.php
こういったことを防止するために、BC Math 関数https://www.php.net/manual/ja/ref.bc.php を使います。
最近のコメント