No projeto, encontrei um número semelhante ao '450000' precisa ser convertido no formato usado para contabilidade contábil, '450.000,00', que será preenchido automaticamente se não houver dois dígitos suficientes após os milésimos e pontos decimais. Vários métodos de implementação foram registrados.
PS: Se você não considerar os seguintes pontos decimais, a maneira mais rápida:
"12345678" .Prace (/[0-9]+? (? = (?: ([0-9] {3}))+$)/g, function (a) {return a+','}); // saída 12 345 678
1. Implementar em um loop
função formatnum (str) {var newstr = ""; var count = 0; if (str.IndexOf (".") ==-1) {for (var i = str.Length-1; i> = 0; i-) {if (contagem % 3 == 0 && count! = 0) {newstr = str.charat (i) + "," + newstr; } else {newstr = str.charat (i) + newstr; } contagem ++; } str = newsttr + ".00"; // preenchendo automaticamente os dois pontos decimais console.log (str)} else {for (var i = str.indexOf (".")-1; i> = 0; i-) {if (contagem % 3 == 0 && count! = 0) {newstr = str.charat (i) + "" + Newstr; // Se você encontrar um múltiplo de 3, adicione o "," signo} else {newstr = str.charat (i) + newstr; // conecta um por um} count ++; } str = newsttr + (str + "00"). substr ((str + "00"). indexof ("."), 3); console.log (str)}} formatnum ('13213.24'); // saída 13.213.34Formatnum ('132134.2'); // saída 132.134.20Formatnum ('132134'); // saída 132.134.00FormatNum ('132134.236'); // Saída 132.134.2362. Use a regularidade (é necessário julgar o número de dígitos após o ponto decimal sozinho? Notifique -me se houver regras mais inteligentes ~)
função 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] .Place (regex, ','); if (newstr [1] .Length <= 1) {// Quando houver apenas um após o ponto decimal str_2 = str_2 + '.' + newstr [1] + '0'; console.log (str_2)} else if (newstr [1] .Length> 1) {// Quando mais de dois lugares decimais são var decimais = newstr [1] .Substr (0,2); var srt_3 = str_2 + '.' + decimais; console.log (srt_3)}}}; regexnum ('23424224'); // saída 2.42,224.00 regexnum ('23424224.2'); // saída 2.42.224.20Regexnum ('23424224.22'); // saída 2.42,224.22Regexnum ('23424224.23'); // Saída 2.42,224.23O acima é o conteúdo inteiro deste artigo. Para obter mais informações sobre JavaScript, você pode conferir: "Javascript Reference Tutorial" e "JavaScript Code Style Guide". Eu também espero que todos apoiem mais wulin.com.