代碼如下所示:
$num = 10.4567;
//第一種:利用round()對浮點數(shù)進行四舍五入
echo round($num,2); //10.46
//第二種:利用sprintf格式化字符串
$format_num = sprintf("%.2f",$num);
echo $format_num; //10.46
//第三種:利用千位分組來格式化數(shù)字的函數(shù)number_format()
echo number_format($num, 2); //10.46
//或者如下
echo number_format($num, 2, '.', ''); //10/46
ps:PHP 數(shù)字(價格)保留兩位小數(shù)
下面看下PHP中對一些商品的價格計算或價格的的展示,需要精確到小數(shù)點后的兩位數(shù)字,也就是我們平時RMB中的分的單位。那在PHP中如何展示商品的價格,并保留到分的單位的呢?下面教程就來講解一下。
php 商品價格,php保留兩位小數(shù),php商品價格展示
PHP number_format() 函數(shù)
number_format():函數(shù)可以通過千位分組的形式來格式化數(shù)字。
語法:
number_format(number,decimals,decimalpoint,separator)
參數(shù):
number:必需。要格式化的數(shù)字。
decimals:可選。規(guī)定多少個小數(shù)。
decimalpoint:可選。規(guī)定用作小數(shù)點的字符串。
separator:可選。規(guī)定用作千位分隔符的字符串。
例:PHP商品價格以元為單位,保留兩位小數(shù)
代碼:
?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');
?>
輸出結(jié)果:
10.00
1,000,000.00
5,458.57
1,254.90
88.96
以上示例總結(jié):
1、無論是數(shù)字類型或是字符串類型的數(shù)字,都可以被 number_format() 函數(shù)操作
2、number_format() 在操作不含有小數(shù)的數(shù)字時,如果設(shè)置了有多小個小數(shù),會以 0 的形式補充。
3、如果操作帶有多少小數(shù)的數(shù)字,會以四舍五入的方式進行最近一位的取值
4、如果不設(shè)置 number_format() 第三個和第四個參數(shù),整數(shù)部分如果大于3位,那么從小數(shù)點左邊向右開始,每三位都用','號分割
例 PHP number_format() 去掉整數(shù)部分的分割符號
代碼:
?php
echo number_format("1000000",2,".","");
echo number_format("1000000",2,".","x");
echo number_format("1000000",2,"y","x");
?>
輸出結(jié)果:
1000000.00
1x000x000.00
1x000x000y00
以上示例總結(jié):
1、number_format() 函數(shù)的第三個參數(shù),可以替換小數(shù)字的展示方式,比如把小數(shù)點換成y
2、number_format() 函數(shù)的第四個參數(shù),可以替換整數(shù)部分的千分位分割符號,比如為空,或為X
3、要注意的是,number_format() 函數(shù)的第三個參數(shù)與第四個參數(shù)是共同存在的,不能只填寫一個。
以上所述是小編給大家介紹的PHP保留兩位小數(shù)的幾種方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
您可能感興趣的文章:- PHP保留兩位小數(shù)并且四舍五入及不四舍五入的方法