No tengo muy claro si hay alguna forma sencilla de convertir un número en un string que me devuelva los miles separados por miles y los decimales por comas, es decir:
El número 1456.89 lo convierta en un string "1.456,89"
¿algún consejo?
Recibe ayuda de expertos
Es gratis y fácil
Respuestas, votos y comentarios
Recibe puntos, vota y da la solución
No tengo muy claro si hay alguna forma sencilla de convertir un número en un string que me devuelva los miles separados por miles y los decimales por comas, es decir:
El número 1456.89 lo convierta en un string "1.456,89"
¿algún consejo?
He encontrado el método más limpio que buscaba en el enlace de carlossevi:
number.toLocaleString()
Usa la configuración del sistema operativo para elegir el formato de salida.
Gracias por las aportaciones.
Así de primeras se me ocurre que podrias convertir el número en una cadena de texto, y luego pues ya la transformas como tú lo requieras recorriendo cada posición de la cadena.
Espero haberte sido de ayuda. Saludos.
Parece ser que no hay ninguna solución de internacionalización. He tomado una función de aquí y la he modificado para que haga lo que necesitas:
function formatearNumero(nStr) {
nStr += '';
x = nStr.split('.');
x1 = x[0];
x2 = x.length > 1 ? ',' + x[1] : '';
var rgx = /(\d+)(\d{3})/;
while (rgx.test(x1)) {
x1 = x1.replace(rgx, '$1' + '.' + '$2');
}
return x1 + x2;
}