我把一个检查脚本,确保总数是正确的。它所做的是查看存储在数据库中的总数,然后使用其他变量,计算总数应该是多少。找出为什么这个简单的比较显示不等于PHP
如果这两个值 - 存储的总数和计算的总数 - 不相等,那么这是一个问题,所以我希望它发送电子邮件警报。
下面的代码的片段我用它来做到这一点:
$storedTotal = $row['total']; # Pulls from a varchar field in the database
$calculatedTotal = $subtotal + $tax + $shipping - $deduct;
# Make sure the stored total equals what it should (the calculated total)
if($storedTotal != $calculatedTotal) {
# Send an alert
mail("[email protected]","Total check fail","Stored total:$storedTotal \n\n Calculated total:$calculatedTotal \n\n");
}
这看起来很简单,但是,我多次从它那里得到的电子邮件,看起来像这样:
Stored total:23.40
Calculated total:23.40
正如你可以看到,这两个值看起来是一样的。
任何人都可以看到任何他们不显示为平等的原因吗?我没有使用严格的平等检查,所以不应该被类型绊倒。
我在那里看到一个税收变量;我想你是正确的。 – Eddy 2009-04-17 22:51:57
或者更好:从不使用浮点数学计算涉及金钱! – bobince 2009-04-18 02:12:05
当然,但是这是_php_我们在谈论:) – Alnitak 2009-04-18 07:46:14