我有一個表單輸入來獲得一個數字(這是一個價格)。它可以是像102,5這樣的小數。我必須將它與另一個小數進行比較,例如102,6。 該如何處理?我不想使用round(),因爲我得到完全比較。在PHP中比較小數點
0
A
回答
9
您可以在absolute(即數值)差值與一個 「小量」(你的 「忍」 ):
$epsilon = 0.01;
$diff = abs(102.5 - 102.6); // .1
if ($diff <= $epsilon) {
// The numbers are equal
} else {
// The numbers are not equal enough!
}
而且,一個小閱讀: 「What Every Computer Scientist Should Know About Floating-Point Arithmetic」 和「 Comparing floating point numbers「。
此外,你可能會發現,從而下面的問題有趣的(答案!):
- Most effective way for float and double comparison
- What's wrong with using == to compare floats in Java?
這是正確的:你得到決定什麼使兩個數字相等。這可能是0.1
(使1.1
等於1.0
),0.01
(1.02
〜1.03
)等
3
0
就讓它十進制出這種格式的
$kinda_decimal = "102,5";
$kinda_decimal = floatval(str_replace(",",".",$kinda_decimal));
,並比較其
+0
好吧!問題是現在當我選擇(點)它不被視爲十進制昏迷!我希望你明白(法語)) – Mamadou 2010-09-14 10:32:59
相關問題
- 1. SQL比較aftee小數點
- 2. 比較樓層/小區後的浮點數/雙精度比較
- 3. 在bash中比較整數和小數
- 4. PHP - 如何比較小數值
- 5. 比較浮點數
- 6. 比較浮點數
- 7. 比較在小組
- 8. PHP數組比較
- 9. PHP數組比較
- 10. 如何比較兩位小數到小數點後10位?
- 11. 在tcl中比較浮點數
- 12. 在MySQL中比較浮點數?
- 13. 比較逗號和小數點分隔點(點)
- 14. 在PHP中比較兩個數字
- 15. 在php和sql中比較大數字
- 16. 在PHP中比較日期
- 17. 在PHP中按位比較
- 18. 蟒蛇小數比較
- 19. 在php比較域
- 20. 比較小時
- 21. 比較小數與其比例一致
- 22. 如何在php中比較兩個數組(不區分大小寫)php
- 23. 比較浮點數0
- 24. 擊比較浮點數
- 25. 浮點數和零比較
- 26. 點與整數的比較
- 27. 浮點比較
- 28. 浮點比較
- 29. 比較地點
- 30. R中比較小時
TX我測試,我會回來的 – Mamadou 2010-09-14 09:05:21
TX!還沒有工作 – Mamadou 2010-09-14 10:41:19
@Mamadou你的號碼是否有效? 'var_dump()'打印什麼? – jensgram 2010-09-14 11:07:01