const formatNumber2 = (num) => {
return parseFloat(num)
.toFixed(2)
.toString()
.replace('.', ',')
.replace(/\B(?=(\d{3})+(?!\d))/g, ".");
};Aquí está lo que hace cada parte de la función:
parseFloat(num): Convierte el parámetronuma un número de punto flotante. Esto asegura que el número se trate como un número y no como una cadena de texto..toFixed(2): Redondea el número a 2 decimales..toString(): Convierte el número redondeado a una cadena de texto..replace('.', ','): Reemplaza el punto decimal por una coma, lo que da formato al número como un número decimal con coma..replace(/\B(?=(\d{3})+(?!\d))/g, "."): Esta es una expresión regular que agrega puntos de miles al número. Aquí está lo que hace:/\B(?=(\d{3})+(?!\d))/g: Esta es la expresión regular. Busca todos los lugares donde hay un dígito que no está seguido de otros 3 dígitos.".": Reemplaza esos lugares con un punto.
En resumen, esta función toma un número, lo convierte a un número de punto flotante con 2 decimales, y luego le da formato con comas y puntos de miles, como se esperaría en una representación numérica estándar.