PHP_保留兩位小數並且四舍五入(可用於精度計算)_保留兩位小數並且不四舍五入


小數例子:

 

PHP保留兩位小數並且四舍五入

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

大家可以看到我們用到了sprintf函數對$n進行了格式化%.2f是目標格式,其中2表示兩位f表示float(浮點型) 第3為小數6被四舍五入

再看個例子

 

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

代碼輸出了保留2為小數沒有四舍五入,實際上我們了解了sprintf的特性會四舍五入小數后我們多保留了一位,然后用substr來截取前2位

 

 

取整例子:

 

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

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

 

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

 

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

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

 

round函數

 

01 <?PHP
02   echo round(3.4);         // 3
03   echo round(3.5);         // 4
04   echo round(3.6);         // 4
05   echo round(3.6, 0);      // 4
06   echo round(1.95583, 2);  // 1.96
07   echo round(1241757, -3); // 1242000
08   echo round(5.045, 2);    // 5.05
09   echo round(5.055, 2);    // 5.06
10 ?>

 

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM