我們需要將價格保留兩位小數比如12元需要表示為¥12.00,這時就需要使用number_format函數,使用方法為number_format(12,2),如果需要四舍五入,可以使用round函數配合。
number_format
格式化數字字串。
語法: string number_format(float number, int [decimals], string [dec_point], string [thousands_sep]);
傳回值: 字串
函式種類: 數學運算
內容說明
本函式用來將浮點參數 number 格式化。若沒加參數 decimals 則傳回的字串只要整數部份,加了此參數才依參數指定的小數點位數傳回。參 數 dec_point 表示小數點的表示方式方法,內定值是 ”.”,若需要轉換成其它的小數點就可以在這個參數改掉。參 數 thousands_sep 為整數部份每三位的分隔符號,內定值是 ”,”。本函式最特別的地方就是參數數目,最少要有一個,也就是欲格式化的字 串;也可以有二個或者四個參數,但不能用三個參數。值得注意的是指定小數點的位數之后的數字直接舍棄,沒有四舍五入的情形。
描述 | |
---|---|
number | 必需。要格式化的數字。 如果未設置其他參數,則數字會被格式化為不帶小數點且以逗號 (,) 作為分隔符。 |
decimals | 可選。規定多少個小數。如果設置了該參數,則使用點號 (.) 作為小數點來格式化數字。 |
decimalpoint | 可選。規定用作小數點的字符串。 |
separator | 可選。規定用作千位分隔符的字符串。 僅使用該參數的第一個字符。比如 "xyz" 僅輸出 "x"。 注釋:如果設置了該參數,那么所有其他參數都是必需的。 |
例子:
1
2
3
4
5
6
7
|
<?php
echo
number_format(
"1000000"
);
echo
number_format(
"1000000"
,2);
echo
number_format(
"1000000"
,2,
","
,
"."
);
echo
number_format(
"1000000"
,2,
"*"
,
"."
);
echo
number_format(
"1000000"
,2,
"."
,
""
);
?>
|
輸出:
1,000,000
1,000,000.00
1.000.000,00
1.000.000*00
1000000.00
有意思的number_format
number_format(number,decimals,decimalpoint,separator)
有四個參數,
第一個和第二個參數是必須的,第三個和第四個是可選項。但實際測試中第三個和第四個這兩個參數必須同時存在,也就是要么都設置,要么都不設置。
沒有設置第三個和第四個參數:
Number_format(13526, 2); echo 13,526.00;
如果你將這處理后的數字去累加,則只會得到一個13!。
設置了第三個和第四個參數
1
|
Number_format(23125, 2,
'.'
,
''
);
echo
23125.00;
|
這時再對這處理后的數字進行運算的話則會正確執行!
該函數的第三個參數表示 ‘小數點'位置用什么來表示,可以默認 . ,也可以設置成‘,'等其他符號。Ps:但我相信沒人會這么干。
第四個則表示每隔 千位時用什么來分割數字。如果沒什么特殊要求,又要進行運算的話最好設置為空。