1. 程式人生 > 實用技巧 >PHP保留兩位小數的幾種方法【轉】

PHP保留兩位小數的幾種方法【轉】

程式碼如下所示:

$num = 10.4567;  
  //第一種:利用round()對浮點數進行四捨五入
  echo round($num,2); //10.46
   
  //第二種:利用sprintf格式化字串
  $format_num = sprintf("%.2f",$num);
  echo $format_num; //10.46
   
  //第三種:利用千位分組來格式化數字的函式number_format()
  echo number_format($num, 2); //10.46
  //或者如下
  echo number_format($num, 2, '.', ''); //10/46

ps:PHP 數字(價格)保留兩位小數

下面看下PHP中對一些商品的價格計算或價格的的展示,需要精確到小數點後的兩位數字,也就是我們平時RMB中的分的單位。那在PHP中如何展示商品的價格,並保留到分的單位的呢?下面教程就來講解一下。

php 商品價格,php保留兩位小數,php商品價格展示

PHP number_format() 函式

number_format():函式可以通過千位分組的形式來格式化數字。

語法:

number_format(number,decimals,decimalpoint,separator)

引數:

number:必需。要格式化的數字。
decimals:可選。規定多少個小數。
decimalpoint:可選。規定用作小數點的字串。
separator:可選。規定用作千位分隔符的字串。

例:PHP商品價格以元為單位,保留兩位小數

程式碼:

<?php
$a = 10;
echo number_format($a,'2');
$b = 1000000;
echo number_format($b,'2');
$c = 5458.5684;
echo number_format($c,'2');
$d = '1254.8963';
echo number_format($d,'2');
$e = '88.9643';
echo number_format($e,'2');
?>

輸出結果:

10.00
1,000,000.00
5,458.57
1,254.90
88.96

以上示例總結:

1、無論是數字型別或是字串型別的數字,都可以被 number_format() 函式操作
2、number_format() 在操作不含有小數的數字時,如果設定了有多小個小數,會以 0 的形式補充。
3、如果操作帶有多少小數的數字,會以四捨五入的方式進行最近一位的取值
4、如果不設定 number_format() 第三個和第四個引數,整數部分如果大於3位,那麼從小數點左邊向右開始,每三位都用','號分割

例 PHP number_format() 去掉整數部分的分割符號

程式碼:

<?php
echo number_format("1000000",2,".","");
echo number_format("1000000",2,".","x");
echo number_format("1000000",2,"y","x");
?>

輸出結果:

1000000.00
1x000x000.00
1x000x000y00

以上示例總結:

1、number_format() 函式的第三個引數,可以替換小數字的展示方式,比如把小數點換成y
2、number_format() 函式的第四個引數,可以替換整數部分的千分位分割符號,比如為空,或為X
3、要注意的是,number_format() 函式的第三個引數與第四個引數是共同存在的,不能只填寫一個。

來源:https://www.jb51.net/article/166138.htm