当我运行以下PHP脚本时,它只是从11.5计算30%的折扣。我会得到一些奇怪的结果。通常我会在测试计算结果时期望条件为假。但我得到了真相。
在这种情况下,php有什么问题?
<?php
$_discount = 30;
$_price = 11.5;
$_qty = 1;
echo $_result = ((1-$_discount / 100) * $_price); // the result is 8.05
echo $_result; // prints 8.05;
echo gettype($_result); // prints double
echo $_result !== 8.05; // returns 1 instead of 0
?>
答案 0 :(得分:2)
尝试使用this:
<?php
$_discount = 30;
$_price = 11.5;
$_qty = 1;
echo $_result = ((1-$_discount / 100) * $_price); // the result is 8.05
echo $_result; // prints 8.05;
echo gettype($_result); // prints double
echo (double)$_result !== 8.05;
?>