php取整函數ceil,floor,round,intval函數的區別

開發過程中,遇到數據處理取整的時候,你會用哪個呢,小宋來介紹一下:PHP取整函數有ceil,floor,round,intval,下面詳細介紹一下:

1、ceil — 進一法取整
說明
float ceil ( float $value )
返回不小於 value 的下一個整數,value 如果有小數部分則進一位。ceil() 返回的類型仍然是 float,因爲 float 值的範圍通常比 integer 要大。
ceil() 例子

  1. <?php
  2. echo ceil(4.3); // 5
  3. echo ceil(9.999); // 10
  4. ?>

2、floor — 捨去法取整
說明
float floor ( float $value )
返回不大於 value 的下一個整數,將 value 的小數部分捨去取整。floor() 返回的類型仍然是 float,因爲 float 值的範圍通常比 integer 要大。
floor() 例子

  1. <?php
  2. echo floor(4.3); // 4
  3. echo floor(9.999); // 9
  4. ?>

3、round — 對浮點數進行四捨五入
說明
float round ( float $val [, int $precision ] )
返回將 val 根據指定精度 precision(十進制小數點後數字的數目)進行四捨五入的結果。precision 也可以是負數或零(默認值)。
round() 例子

  1. <?php
  2. echo round(3.4); // 3
  3. echo round(3.5); // 4
  4. echo round(3.6); // 4
  5. echo round(3.6, 0); // 4
  6. echo round(1.95583, 2); // 1.96
  7. echo round(1241757, -3); // 1242000
  8. echo round(5.045, 2); // 5.05
  9. echo round(5.055, 2); // 5.06
  10. ?>

Note: PHP 默認不能正確處理類似 “12,300.2″ 的字符串。
Note: precision 參數是在 PHP 4 中被引入的。

4、intval — 獲取變量的整數值
說明
int intval ( mixed $var [, int $base ] )
通過使用特定的進制轉換(默認是十進制),返回變量 var 的 integer 數值。
var 可以是任何標量類型。intval() 不能用於 array 或 object。
intval() 例子

  1. <?php
  2. echo intval(4.3); // 4
  3. echo intval(9.999); // 9
  4. ?>

Note:
除非 var 參數是字符串,否則 intval() 的 base 參數不會有效果。

個人認爲floor函數與intval函數功能相同,所不同之處是一個返回的浮點數(float),而另一個是整數(integer),因爲 float 值的範圍通常比 integer 要大。不過就數值本身來說兩者是相等的。

發佈了123 篇原創文章 · 獲贊 7 · 訪問量 24萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章