您好,登錄后才能下訂單哦!
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 也可以是負數或零(默認值)。
<?php echo round(3.4); // 3 echo round(3.5); // 4 echo round(3.6); // 4 echo round(3.6, 0); // 4 echo round(1.95583, 2); // 1.96 echo round(1241757, -3); // 1242000 echo round(5.045, 2); // 5.04 echo round(5.055, 2); // 5.06
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
關于php有哪些保留兩位小數的方法問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。