亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

php ceil取整的問題,求解。

php ceil取整的問題,求解。

手掌心 2019-04-14 10:42:59
`var_dump(ceil(2.2*100)/100);var_dump(ceil(strval(2.2*100))/100);`輸出的結果分別是float2.21float2.2為什么這兩種情況的值會不同?大神求解。
查看完整描述

2 回答

?
HUX布斯

TA貢獻1876條經驗 獲得超6個贊

雖然還是不明白底層原理。浮點小數很多普通的十進制小數在二進制下并不是有限位的小數,有限的數值位并不能精確地記錄數字的值所以你以為的2.20在echosprintf('%10.30f',2.20*100);的時候看到的會是220.000000000000028421709430404007
查看完整回答
反對 回復 2019-04-14
?
MMTTMM

TA貢獻1869條經驗 獲得超4個贊

可能這和ceil二關,是浮點運算的問題吧。
結合@jsutking的實驗,很容易理解第1個的答案是2.21,因為它是ceil(220.000000000000028421709430404007)的結果。
而第2個,估計是strval(2.2*100)的時候自動取了一個不大的精度,ceil(220.0000000000000)算出來都是220啦。
                            
查看完整回答
反對 回復 2019-04-14
  • 2 回答
  • 0 關注
  • 804 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號