1. 程式人生 > 其它 >php保留兩位小數的幾種方法介紹

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

以上就是php保留兩位小數的幾種方法介紹的詳細內容,更多請關注考高分網其它相關文章!

文章轉自:http://www.kaotop.com/it/262840.html

本文來自部落格園,作者:考高分網,轉載請註明原文連結:http://www.kaotop.com/