我把一個檢查腳本,確保總數是正確的。它所做的是查看存儲在數據庫中的總數,然後使用其他變量,計算總數應該是多少。找出爲什麼這個簡單的比較顯示不等於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