將價格保留兩位小數比如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 為整數部份每三位的分隔符號,內定值是 ”,”。本函式最特別的地方就是參數數目,最少要有一個,也就是欲格式化的字 串;也可以有二個或者四個參數,但不能用三個參數。值得注意的是指定小數點的位數之后的數字直接舍棄,沒有四舍五入的情形。
<?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,decimals,decimalpoint,separator)
有四個參數,
第一個和第二個參數是必須的,第三個和第四個是可選項。但實際測試中第三個和第四個這兩個參數必須同時存在,也就是要么都設置,要么都不設置。
沒有設置第三個和第四個參數:
Number_format(13526, 2); echo 13,526.00;
如果你將這處理后的數字去累加,則只會得到一個13!。
設置了第三個和第四個參數
Number_format(23125, 2, '.',''); echo 23125.00;
這時再對這處理后的數字進行運算的話則會正確執行!
該函數的第三個參數表示 ‘小數點'位置用什么來表示,可以默認 . ,也可以設置成‘,'等其他符號。Ps:但我相信沒人會這么干。
第四個則表示每隔 千位時用什么來分割數字。如果沒什么特殊要求,又要進行運算的話最好設置為空。