開發過程中,遇到資料處理取整的時候,你會用哪個呢,小濤來介紹一下:PHP取整函數有ceil,floor,round,intval,下面詳細介紹一下:
1、ceil — 進一法取整
說明
float ceil ( float $value )
傳回不小于 value 的下一個整數,value 如果有小數部分則進一位。ceil() 傳回的類型仍然是 float,因為 float 值的範圍通常比 integer 要大。
ceil() 例子
- <?php
- echo ceil(4.3); // 5
- echo ceil(9.999); // 10
- ?>
2、floor — 舍去法取整
float floor ( float $value )
傳回不大于 value 的下一個整數,将 value 的小數部分舍去取整。floor() 傳回的類型仍然是 float,因為 float 值的範圍通常比 integer 要大。
floor() 例子
- echo floor(4.3); // 4
- echo floor(9.999); // 9
3、round — 對浮點數進行四舍五入
float round ( float $val [, int $precision ] )
傳回将 val 根據指定精度 precision(十進制小數點後數字的數目)進行四舍五入的結果。precision 也可以是負數或零(預設值)。
round() 例子
- 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.05
- echo round(5.055, 2); // 5.06
Note: PHP 預設不能正确處理類似 “12,300.2″ 的字元串。
Note: precision 參數是在 PHP 4 中被引入的。
4、intval — 擷取變量的整數值
int intval ( mixed $var [, int $base ] )
通過使用特定的進制轉換(預設是十進制),傳回變量 var 的 integer 數值。
var 可以是任何标量類型。intval() 不能用于 array 或 object。
intval() 例子
- echo intval(4.3); // 4
- echo intval(9.999); // 9
Note:
除非 var 參數是字元串,否則 intval() 的 base 參數不會有效果。
個人認為floor函數與intval函數功能相同,所不同之處是一個傳回的浮點數(float),而另一個是整數(integer),因為 float 值的範圍通常比 integer 要大。不過就數值本身來說兩者是相等的。