PHP_小數/四捨五入/上進/下取等

小數例子:php


PHP保留兩位小數而且四捨五入函數

$n=0.1265489;
echo sprintf("%.2f", $n); // 0.13

你們能夠看到咱們用到了sprintf函數對$n進行了格式化%.2f是目標格式,其中2表示兩位f表示float(浮點型) 第3爲小數6被四捨五入spa

再看個例子code


$n=0.1265489
echo substr(sprintf("%.3",$n),0,-1);// 0.12

代碼輸出了保留2爲小數沒有四捨五入,實際上咱們瞭解了sprintf的特性會四捨五入小數後咱們多保留了一位,而後用substr來截取前2位orm



取整例子:ci


echo ceil(4.1);    // 5
echo ceil(9.999);  // 10

ceil函數是向上取整函數,什麼叫向上呢? 就是說若是超出一點點那就向前進一位如例子中4.1就變成了5。it


跟它相反還有一個函數叫floor咱們看看它的用法io


echo floor(4.1);   // 4
echo floor(9.999); // 9

floor的特性在第二個輸出中顯的特別明顯,那就是不給你多少位小數哪怕是無限接近10也沒有用向下取到的整數就是9。class


round函數float


<?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
?>


round函數在PHP手冊中的說明是:

float round ( float $val [, int $precision = 0 [, int $mode = PHP_ROUND_HALF_UP ]] )

返回將 val 根據指定精度 precision(十進制小數點後數字的數目)進行四捨五入的結果。precision 也能夠是負數或零(默認值)。

round 的參數一是數據源,參數二是要保留的小數位並且以後一位(好比你輸入2那麼第3爲是以後一位)被四捨五入,當他是負數的時候,從數據源最後一位開始往前數相應的長度制0並將最後一位四捨五入好比round(123456,-2) 就是123456從6開始往前數兩位都變成零,而且最後一位5(從後往前數第一位是6最後一位是5)被四捨五入,輸出123500

相關文章
相關標籤/搜索