php除不盡的解決方法:1、透過round函數對浮點數進行四捨五入;2、透過ceil方法實現進一法取整;3、透過floor函數實現捨去法取整即可。
本文操作環境:Windows7系統、PHP7.1、Dell G3電腦。
php 除法取整
如果我們使用" / "運算子進行除法運算時,如果遇到無法除盡的情況,會得到小數值。如果我只希望得到整數部分,怎麼辦呢?
1.round — 對浮點數進行四捨五入
float round ( float $val [, int $precision ] )
傳回將 val 根據指定精度 precision(十進制小數點後數字的數目)進行四捨五入的結果。 precision 也可以是負數或零(預設值)。
//Example #1 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" 的字串。見字串轉換為數值。
推薦:《PHP影片教學》
2.ceil — 進一法取整(向上取整)
float ceil ( float $value )
回傳不小於value的下一個整數,value 如果有小數部分則進一位。 ceil() 傳回的型別仍然是float,因為float 值的範圍通常比integer 還要大。
//Example #1 ceil() 例子 <?php echo ceil(4.3); // 5 echo ceil(9.999); // 10 ?>
3.floor — 捨去法取整(向下取整)
float floor ( float $value )
傳回不大於 value 的下一個整數,將 value 的小數部分捨去取整。 floor() 傳回的型別仍然是float,因為float 值的範圍通常比integer 大。
//Example #1 floor() 例子 <?php echo floor(4.3); // 4 echo floor(9.999); // 9 ?>
以上是php 不盡怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!