這段時間經常用到金錢的格式
例如
¥25,121,111.52
像這樣的格式
之前不太明白還有這樣的方法
都是用截取字符串手動的加上",",后來發現還有更簡單的方法,php自帶的
下面我就k來給大家介紹一下用法
語法
number_format(number,decimals,decimalpoint,separator)
| 參數 | 描述 |
|---|---|
| number | 必需。要格式化的數字。 如果未設置其他參數,則數字會被格式化為不帶小數點且以逗號(,)作為千位分隔符。 |
| decimals | 可選。規定多少個小數。如果設置了該參數,則使用點號(.)作為小數點來格式化數字。 |
| decimalpoint | 可選。規定用作小數點的字符串。 |
| separator | 可選。規定用作千位分隔符的字符串。僅使用該參數的第一個字符。比如 "xxx" 僅輸出 "x"。 注釋:如果設置了該參數,那么所有其他參數都是必需的。 |
下面我來給大家舉個栗子
例子:
1 2 3 4 5 6 7 | 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(11526, 2); echo 11,526.00;
如果把處理后的數字去累加,則只會得到一個11
如果設置了第三個和第四個參數
1 | Number_format(21225, 2, '.',''); echo 21225.00; |
然后再對處理后的數字進行運算的就會正確執行了
該函數的第三個參數表示小數點位置用什么來表示,可以默認"." ,也可以設置成‘,'等其他符號
但我覺得沒人會這么寫
第四個表示每隔千位時分割數字的符號。如果沒其他特殊需求的話,還要進行運算的話最好設置為空。



