虛擬主機域名注冊-常見問題 → 網絡編程問題 → PHP | |||||
1.不進位的情況 比如3.149569取小數點后兩位,最后兩位不能四舍五入。結果:3.14。 可以使用 floor 函數 該函數是舍去取整。例如,floor(4.66456) 結果:4 。 floor(9.1254) 結果9 。 因此,去小數點后兩位,需要先乘以100,然后舍去取整,再除以100,即: $a=floor(3.149569*100)/100 這時浮點計算會出現一個bug,通過php的無類型特性來解決這個問題,先strval轉成字符串,再自動識別類型。下面計算百分比已經使用上strval()函數了 計算百分比 $successRate = floor(strval((2/3)*10000))/10000*100; $result = $successRate.'%'; 2.四舍五入的情況 round 函數 float round ( float val [, int precision]) 返回將 val 根據指定精度 precision(十進制小數點后數字的數目)進行四舍五入的結果。 precision 也可以是負數或零(默認值)。 sprintf 函數 實現四舍五入,并且如果是不帶小數位數的,會自動用指定的字符(指定的0)補至指定的小數位數 echo sprintf("%01.2f", 5.228); // 5.23 echo sprintf("%01.2f", 5.224); // 5.22 echo sprintf("%01.2f", 5); // 5.00 number_format 函數 如果是不帶小數位數的,會自動用0補至指定的小數位數 echo number_format(5.228,2); // 5.23 echo number_format(5.224,2); // 5.22 echo number_format(5,2); // 5.00 round 函數 此函數可以實現四舍五入,但是如果是不帶小數位數的,處理后也不帶小數數位 echo round(5.228,2); // 5.23 echo round(5.224,2); // 5.22 echo round(5,2); // 5 php進一法取整 echo ceil(4.4); // 5 echo ceil(4.6); // 5 php舍去法取整 echo floor(4.4); // 4 echo floor(4.6); // 4
|
|||||
>> 相關文章 | |||||
沒有相關文章。 | |||||
發表評論 | |||||
網友評論 | |||||
沒有相關評論。 |