php保留兩位小數的幾種方法介紹

青灯夜游
發布: 2023-04-09 09:32:01
轉載
8013 人瀏覽過

php保留兩位小數的幾種方法介紹

1.不進位的情況

例如3.149569取小數點後兩位,最後兩位不能四捨五入。結果:3.14。

可以使用 floor 函數

該函數是捨去取整。例如,floor(4.66456) 結果:4 。

floor(9.1254) 結果9 。

因此,去小數點後兩位,需要先乘以100,然後捨去取整,再除以100,即:

$a=floor(3.149569*100)/100
登入後複製

這時浮點計算會出現一個bug,透過PHP的無型別特性來解決這個問題,先strval轉成字串,再自動辨識類型。下面計算百分比已經使用上strval()函數了

計算百分比

$successRate = floor(strval((2/3)*10000))/10000*100;
$result = $successRate.'%';
登入後複製

2.四捨五入的情況

# round 函數

float round ( float val [, int precision])
登入後複製

傳回val 根據指定精確度precision(十進位小數點後數字的數目)進行四捨五入的結果。

precision 也可以是負數或零(預設值)。

<?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.04
echo round(5.055, 2);    // 5.06
登入後複製

sprintf 函數

實作四捨五入,如果是不帶小數位數的,會自動用指定的字元(指定的0)補到指定的小數位數

echo sprintf("%01.2f", 5.228);  //  5.23
echo sprintf("%01.2f", 5.224);  //  5.22
echo sprintf("%01.2f", 5);      //  5.00
登入後複製

 number_format 函數

#如果是不帶小數位數的,會自動用0補到指定的小數位數

echo number_format(5.228,2);    //  5.23
echo number_format(5.224,2);    //  5.22
echo number_format(5,2);        //  5.00
登入後複製

  round 函數

此函數可以實現四捨五入,但是如果是不帶小數位數的,處理後也不帶小數數字

echo round(5.228,2);    //  5.23
echo round(5.224,2);    //  5.22
echo round(5,2);        //  5
登入後複製

#  php進一法取整

echo ceil(4.4);     //  5
echo ceil(4.6);     //  5
登入後複製

  php捨去法取整

echo floor(4.4);        //  4
echo floor(4.6);        //  4
登入後複製

相關教學推薦:《PHP教學

以上是php保留兩位小數的幾種方法介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
php
來源:cnblogs.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板