이 프로젝트에서 나는 '450000'과 유사한 숫자를 회계 회계에 사용 된 형식 인 '450,000.00'과 비슷한 것을 발견했습니다. 몇 가지 구현 방법이 기록되었습니다.
추신 : 다음 10 진수 점을 고려하지 않으면 가장 빠른 방법입니다.
"12345678".replace (/[0-9]+? // 출력 12 345 678
1. 루프로 구현하십시오
fortmatnum (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"; // 두 십진점 콘솔을 자동으로 채우십시오. log (str)} else {for (var i = str.indexof ( ".") -1; i> = 0; i-) {if (count % 3 == 0 && count! = 0) {str.charat (i) + "," + newstr; // 3의 배수를 만나면 ","sign} 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.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 (newstr [1] .length <= 1) {// 소수점 이후 하나만있을 때 str_2 = str_2 + '입니다.' + Newstr [1] + '0'; console.log (str_2)} else if (newstr [1] .length> 1) {// 소수점이 넘는 곳이 2 개 이상인 경우 var decimals = 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'); // output 2,42,224.22222222. // 출력 2,42,224.23위는이 기사의 전체 내용입니다. JavaScript에 대한 자세한 내용은 "JavaScript 참조 자습서"및 "JavaScript Code Style Guide"를 확인하십시오. 또한 모두가 wulin.com을 더 지원하기를 바랍니다.