以下を実行すると、N, Y, Y
.
2 番目の例では、float/double にキャストバックせず、 を にドロップせずに'0.00' != '0'
をテストする一貫した方法があるため、そうでない理由は理解しています。0
===
==
echo bcmul( '5.1', '2.234', 2 );
echo bcmul( '5.1', '2.234', 2 ) === '0' ? ' Y ' : ' N ';
echo "<br/>";
echo bcmul( '0.00', '000.00', 2 );
echo bcmul( '0.00', '000.00', 2 ) === '0' ? ' Y ' : ' N ';
echo "<br/>";
echo bcmul( '0', '0', 2 );
echo bcmul( '0', '0', 2 ) === '0' ? ' Y ' : ' N ';
echo "<br/>";
ノート
をドロップしたくないのはなぜ
===
ですか?
などの方法を使用して、より壮大なプロジェクトの一部として機能を提供しているget_total_cost()
場合、関数が数値を返すことを期待しているときに、他の開発者が厳密な比較をやめなければならないことは直感的ではないと思います。文字列として。