Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
重複の可能性: PHP 数学の精度
次の php コードは 7 を出力しますが、私は 8 を期待しています。違いはなぜですか?
<?php echo (int)((0.1+0.7)*10); ?>
浮動小数点表現が不正確なため、0.1+0.7 は0.8 と正確に等しくないためです。それよりもほんの少し少ないかもしれません。を使用するint(..)と、7 に切り捨てられます。
int(..)
他の人はすでに問題を指摘しています。小数点以下の桁数が固定されている場合 (たとえば、お金を扱う場合)、ユーザーに値を表示するときに、セントを計算して保存し、それらをドル/ユーロ/その他に変換することをお勧めします。