[請益] round函數計算錯誤

看板PHP作者 (121)時間13年前 (2012/02/29 20:52), 編輯推噓2(202)
留言4則, 4人參與, 最新討論串1/1
剛在測試自己寫的拍賣網站, 意外發現這個php運算上的bug。 請大家幫忙看看改如何改正確。 ================================================== 程式: echo round(1003.5); echo round(200.7 / 0.2); 執行結果: 1004 1003 =================================================== 問題在於「200.7/0.2」等於「1003.5」,兩者四捨五入的結果應該都為1004 不知道為什麼會運算錯誤? (不過若用「200.9/0.2」與「1004.5」去作四捨五入,執行結果又會是正常正確的1005。) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 223.140.230.165

02/29 21:08, , 1F
php 5.3.5 , 兩者皆 1004
02/29 21:08, 1F

02/29 21:57, , 2F
PHP 4.4.5 ORZ
02/29 21:57, 2F

02/29 22:05, , 3F
所有程式語言都有的浮點數精確度問題 http://0rz.tw/3450A
02/29 22:05, 3F

03/01 11:58, , 4F
PHP 5.5.0-dev 兩者皆 1004
03/01 11:58, 4F
文章代碼(AID): #1FJXzv55 (PHP)
文章代碼(AID): #1FJXzv55 (PHP)