O primeiro método aqui é usar o JavaScript para converter o número do número em um formato de sequência de moeda (parâmetros: preservar os lugares decimais, símbolos de moeda, parte inteira de milhares de separadores, separadores decimais)
O segundo método aqui é converter caracteres em moeda em seqüências numéricas puras com uma expressão regular simples e, em seguida, você pode converter a sequência em um número numérico.
Javascript Money Format (número estenda com protótipo)
// Estenda o objeto Número padrão com um método formatMoney (): // Uso: SomeVar.FormatMoney (DecimalPlaces, Symbol, Milseparator, DecimalseParator) // Padrões: (2, "$", ",". Math.abs (lugares))? Lugares: 2; símbolo = símbolo! == indefinido? Símbolo: "$"; milhares = milhares || ","; decimal = decimal || "."; var número = this, negativo = número <0? "-": "", i = parseInt (número = math.abs ( + número || 0) .tofixed (lugares), 10) + "", j = (j = i.Length)> 3? J % 3: 0; Retornar símbolo + negativo + (j? I.substr (0, j) + milhares: "") + i.substr (j) .place (/(/d {3}) (? =/d)/g, "$ 1" + milhares) (lugares?Aqui estão alguns exemplos de conversão:
// uso padrão e precisão/símbolo personalizado: var receita = 12345678; alert (Revenue.FormatMoney ()); // $ 12.345.678.00Alert (Revenue.FormatMatMoney (0, "HK $")); // HK $ 12.345.678 // Formatação européia: VAR Price = 4999,99; Alert (Price.FormatMoney (2, ",". "," ");
Moeda para número de remoção de dinheiro (filtro com expressões regulares)
Var Price = (12345.99) .FormatMoney (); // "$ 12.345,99" // Remova chars não numéricos (exceto ponto decimal/sinal menos): priceval = parsefloat (price.replace (/[^0-9-.]/G, '')); // 12345.99
Este método é usado apenas no padrão em que o separador decimal é "". Se o separador decimal for "," então a expressão regular é /[^0-9-,] /g
Versões que não usam protótipo para expandir o número:
// Para configurá -lo como uma função global: função formatmoney (número, lugares, símbolo, milhares, decimal) {número = número || 0; lugares =! isnan (lugares = math.abs (lugares))? Lugares: 2; símbolo = símbolo! == indefinido? Símbolo: "$"; milhares = milhares || ","; decimal = decimal || "."; var negativo = número <0? "-": "", i = parseInt (número = math.abs ( + número || 0) .tofixed (lugares), 10) + "", j = (j = i.Length)> 3? J % 3: 0; Retorne símbolo + negativo + (j? I.substr (0, j) + milhares: "") + i.substr (j) .place (/(/d {3}) (? =/d)/g, "$ 1" + milhares de sra). Método: mylibrary.formatMoney = function (número, lugares, símbolo, milhares, decimal) {/ * como acima */} // Exemplo de uso: formatmoney (54321); // $ 54.321mylibrary.formatMoney (12345, 0, "£"); // £ 12.345O 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.