ホームページ > 記事 > ウェブフロントエンド > Javascriptにより数値を金額形式に変換(1000分の1区切り、小数点自動付加)
プロジェクトでは、「450000」のような数値を会計で使用される形式「450,000.00」に変換する必要がありました。千の位と小数点を区切って 2 桁が足りない場合は、自動的に埋められます。いくつかの実装が記録されています。 メソッド
ps: 小数点を考慮しない場合、最も速いメソッドは
"12345678".replace(/[0-9]+?(?=(?:([ 0-9]{3})) +$)/g,function(a){return a+','}); //出力 12 345 678
1. ループを使用して
rreeeを実装します。 2. 正規表現を使用します(欠点は、小数点以下の桁数を自分で判断する必要があることです。よりスマートな正規表現があれば教えてください〜)
function formatNum(str){ var newStr = ""; var count = 0; if(str.indexOf(".")==-1){ for(var i=str.length-1;i>=0;i--){ if(count % 3 == 0 && count != 0){ newStr = str.charAt(i) + "," + newStr; }else{ newStr = str.charAt(i) + newStr; } count++; } str = newStr + ".00"; //自动补小数点后两位 console.log(str) } else { for(var i = str.indexOf(".")-1;i>=0;i--){ if(count % 3 == 0 && count != 0){ newStr = str.charAt(i) + "," + newStr; //碰到3的倍数则加上“,”号 }else{ newStr = str.charAt(i) + newStr; //逐个字符相接起来 } count++; } str = newStr + (str + "00").substr((str + "00").indexOf("."),3); console.log(str) } } formatNum('13213.24'); //输出13,213.34 formatNum('132134.2'); //输出132,134.20 formatNum('132134'); //输出132,134.00 formatNum('132134.236'); //输出132,134.236
上記は、の全内容ですJavaScript 構文について詳しく知りたい方は、PHP 中国語 Web サイトをぜひご利用ください。
数値を金額形式に変換する (1000 分の 1 の区切りと小数点の自動追加) JavaScript の詳細については、PHP 中国語 Web サイトの関連記事に注目してください。