El primer método aquí es usar JavaScript para convertir el número de número en un formato de cadena de divisas (parámetros: preservar los lugares decimales, símbolos de divisas, parte entera de miles de separadores, separadores decimales)
El segundo método aquí es convertir caracteres monetarios en cadenas numéricas puras con una expresión regular simple, y luego puede convertir la cadena en un número numérico.
Formato de dinero JavaScript (extender el número con prototipo)
// extiende el objeto de número predeterminado con un método formatMoney (): // use: someVar.FormatMoney (decimalPlaces, símbolo, milssParator, decimalseparator) // predeterminado: (2, "$", ",", ".") Number.prototype.formatMoney = function (lugares, símbolo, miles, decimal) {lugares = = lugares (lugares =! Math.abs (lugares))? Lugares: 2; símbolo = símbolo! == Undefined? símbolo: "$"; miles = miles || ","; 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; Símbolo de retorno + negativo + (j? I.substr (0, j) + miles: "") + i.substr (j) .replace (/(/d {3}) (? =/d)/g, "$ 1" + miles) + (lugares? decimal + math.abs (número - i) .tofixed (lugares) .slice (2): ");};};Aquí hay algunos ejemplos de conversión:
// Uso predeterminado y precisión/símbolo personalizado: VAR Ingresue = 12345678; alerta (ingreso.FormatMoney ()); // $ 12,345,678.00Alert (ingreso.FormatMoney (0, "HK $")); // HK $ 12,345,678 // Formato europeo: Var Price = 4999.99; Alert (Price.FormatMoney (2, ",". ",", ")); // .999,99 // también funciona para valores negativos: alerta (( -5000000) .FormatMoney (0," £ "); // £ -500,000,
Moneda a número Eliminación del formato de dinero (filtro con expresiones regulares)
precio var = (12345.99) .FormatMoney (); // "$ 12,345.99" // eliminar los caracteres no numéricos (excepto el punto decimal/signo menos): precioval = parsefloat (precio.replace (/[^0-9-.]/G, '')); // 12345.99
Este método solo se usa en el patrón donde está el separador decimal ". Si el separador decimal es ",", entonces la expresión regular es /[^0-9-,] /g
Versiones que no usan prototipo para expandir el número:
// Para configurarlo como una función global: función formatMoney (número, lugares, símbolo, miles, decimal) {número = número || 0; Lugares =! Isnan (lugares = Math.abs (lugares))? Lugares: 2; símbolo = símbolo! == Undefined? símbolo: "$"; miles = miles || ","; 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; Símbolo de retorno + negativo + (j? i.substr (0, j) + miles: "") + i.substr (j) .replace (/(/d {3}) (? =/d)/g, "$ 1" + miles) + (lugares? Método: myLibrary.FormatMoney = function (número, lugares, símbolo, miles, decimal) {/ * como arriba */} // Uso de ejemplo: FormatMoney (54321); // $ 54,321mybrary.FormatMoney (12345, 0, "£"); // £ 12,345Lo anterior es todo el contenido de este artículo. Para obtener más información sobre JavaScript, puede consultar: "Tutorial de referencia de JavaScript" y "Guía de estilo de código JavaScript". También espero que todos apoyen más a Wulin.com.