Javascriptにより数値を金額形式に変換(1000分の1区切り、小数点自動付加)

高洛峰
リリース: 2017-01-09 14:37:53
オリジナル
1388 人が閲覧しました

プロジェクトでは、「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 サイトの関連記事に注目してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート