Tuve un problema: tenía una cadena que contenía un número decimal, pero el usuario podía escribirlo de dos maneras, usando un punto o una coma:
0,320.32
Distintos países utilizan distintas formas de separar la parte integral de la parte decimal de un número.
Así que decidí convertir la cadena para utilizar un punto cada vez que encontrara una coma.
Utilicé una expresión regular simple para hacer eso:
let value = '0,32'value = value.replace(/,/g, '.') //value is now '0.32'
Puedes hacer lo opuesto usando replace(/./g, ',')
(nota el antes de
.
para escaparlo, ya que es un carácter especial en expresiones regulares )
La g
bandera en la expresión regular asegura que si hay múltiples instancias de una coma (o punto, en el segundo ejemplo) todas se conviertan.
Esto no es algo que se aplique a nuestro caso de uso, y creo que necesitamos hacer más validaciones para comprobar la integridad de nuestra entrada aquí, pero es un comienzo.Te recomendamos 🍌 Películas Porno en Español, Estrenos, Inglés, Parodias, Hentai XXX Online Gratis
En mi caso, después de hacer esta sustitución llamé a parseFloat(value) para obtener el float de la cadena, y luego limité el número de decimales a 2 usando toFixed(2):
value = parseFloat(value).toFixed(2)
Tips para principiantes de JavaScript
Tal vez te puede interesar:
- Cómo generar un número aleatorio entre dos números en JavaScript
- Cómo esperar el evento DOM listo en JavaScript simple
- Cómo determinar si una fecha es hoy en JavaScript
- Cómo contar el número de propiedades en un objeto JavaScript
Cómo cambiar comas por puntos con JavaScript
Tuve un problema: tenía una cadena que contenía un número decimal, pero el usuario podía escribirlo de dos maneras, usando un punto o una coma:
programar
es
2025-01-10

Si crees que alguno de los contenidos (texto, imagenes o multimedia) en esta página infringe tus derechos relativos a propiedad intelectual, marcas registradas o cualquier otro de tus derechos, por favor ponte en contacto con nosotros en el mail [email protected] y retiraremos este contenido inmediatamente