開發過程中,遇到數據處理取整的時候,你會用哪個呢,小宋來介紹一下: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() 例子
- <?php
- echo floor(4.3); // 4
- echo floor(9.999); // 9
- ?>
3、round — 對浮點數進行四捨五入
說明
float round ( float $val [, int $precision ] )
返回將 val 根據指定精度 precision(十進制小數點後數字的數目)進行四捨五入的結果。precision 也可以是負數或零(默認值)。
round() 例子
- <?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.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() 例子
- <?php
- echo intval(4.3); // 4
- echo intval(9.999); // 9
- ?>
Note:
除非 var 參數是字符串,否則 intval() 的 base 參數不會有效果。
個人認爲floor函數與intval函數功能相同,所不同之處是一個返回的浮點數(float),而另一個是整數(integer),因爲 float 值的範圍通常比 integer 要大。不過就數值本身來說兩者是相等的。