這個程式碎片算是將數字每隔三位加上逗號的延伸寫作了,不過這次重點放在Javascript上的寫法了。如何將12356.25變成金額表示法(NT$12,356.25)呢?程式碼如下:
function money_format(value,fixed,currency){ var fixed = fixed || 0; var currency = currency || ''; isNaN(parseFloat(value))? value=0 : value=parseFloat(value); v = value.toFixed(fixed).toString(); var ps = v.split('.'); var whole = ps[0]; var sub = ps[1] ? '.' + ps[1] : ''; var r = /(\d+)(\d{3})/; while (r.test(whole)) { whole = whole.replace(r, '$1' + ',' + '$2'); } v = whole + sub; if (v.charAt(0) == '-') { return currency + '-' + '$' + v.substr(1); } return currency + '$' +v; } /************ * 測試函式 ************/ //使用數字型態或字串型態傳入皆可 money = money_format(-333224); //輸出$-333,224 money = money_format('-333224');//輸出$-333,224 //指定小數位數 money = money_format(333224,2); //輸出$333,224.00 money = money_format('333224.2',3);//輸出$333,224.200 //指定幣別 money = money_format(333224,2,'US');//輸出US$333,224.00 money = money_format(333224,0,'NT');//輸出NT$333,224
全站熱搜
留言列表