このプロジェクトでは、「450000」に似た数字に遭遇し、会計会計「450,000.00」に使用される形式に変換する必要があります。いくつかの実装方法が記録されています。
PS:次の小数点を考慮しない場合、最速の方法:
"12345678" .replace(/[0-9]+?(?=(?:([0-9] {3})+$)/g、function(a){return a+'、'}); //出力12 345 678
1.ループに実装します
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){newtr = str.charat(i) + "、" + newtr; } else {newtr = str.charat(i) + newtr; } count ++; } str = newtr + ".00"; // 2つの小数点console.log(str)} else {for(var i = str.indexof( "。")-1; i> = 0; i - ){if(count%3 == 0 && count!= 0){newtr = str.Charat(i) + "、" + newstr; // 3の倍数に遭遇した場合は、「、」sign} else {newstr = str.charat(i) + newtrを追加します。 // 1つずつ接続} count ++; } str = newtr +(str + "00")。substr((str + "00")。indexof( "。")、3); console.log(str)}} formatnum( '13213.24'); //出力13,213.34Formatnum( '132134.2'); //出力132,134.20formatnum( '132134'); //出力132,134.00formatnum( '132134.236'); //出力132,134.2362。規則性を使用します(小数点以降の数字を自分で判断する必要がありますか?より賢いルールがある場合は通知してください〜)
関数regexnum(str){var regex =/(/d)(?=(/d/d/d)+(?!/d)/g; if(str.indexof( "。")== -1){str = str.replace(regex、 '、') + '.00'; console.log(str)} else {var newstr = str.split( '。'); var str_2 = newstr [0] .replace(regex、 '、'); if(newtr [1] .length <= 1){//小数点の後に1つしかない場合、str_2 = str_2 + '。' + newtr [1] + '0'; console.log(str_2)} else if(newtr [1] .length> 1){// 2つ以上の小数点がvar 10進数= newstr [1] .substr(0,2); var srt_3 = str_2 + '。' +デシマル; console.log(srt_3)}}}; regexnum( '23424224'); //出力2,42,224.00 regexnum( '23424224.2'); //出力2,42,224.20Regexnum( '23424224.22'); //出力2,42,224.22Regexnum( '23424224.23'); //出力2,42,224.23上記は、この記事のコンテンツ全体です。 JavaScriptの詳細については、「JavaScriptリファレンスチュートリアル」と「JavaScriptコードスタイルガイド」をご覧ください。また、誰もがwulin.comをもっとサポートすることを願っています。