En JavaScript / jQuery ¿cuál es la mejor manera de convertir un número con una coma en un entero?
-
28-09-2019 - |
Pregunta
Quiero convertir la cadena "15678" en un valor de 15678. Métodos parseInt()
y parseFloat()
son a la vez de regresar 15 para "15678". ¿Hay una manera fácil de hacer esto?
Solución
La opción más sencilla es eliminar todas las comas: parseInt(str.replace(/,/g, ''), 10)
Otros consejos
Una forma es eliminar todas las comas con:
strnum = strnum.replace(/\,/g, '');
y después que pasan a parseInt:
var num = parseInt(strnum.replace(/\,/g, ''), 10);
Pero hay que tener cuidado aquí. El uso de comas como separadores de miles es una cosa cultural. En algunas áreas, el número 1,234,567.89
se 1.234.567,89
escrito.
Si sólo tiene números y comas:
+str.replace(',', '')
El +
arroja el str
cadena en un número si se puede. Para que esto sea lo más claro posible, envolverlo con parens:
(+str.replace(',', ''))
Por lo tanto, si lo usa en un comunicado que es más separar visualmente (+ + x apariencia muy similar a ++ x):
var num = (+str1.replace(',', '')) + (+str1.replace(',', ''));
JavaScript convenciones de código (ver "confundiendo ventajas y desventajas", segunda sección de la parte inferior):
Puede hacerlo de esta manera:
var value = parseInt("15,678".replace(",", ""));
Usar una expresión regular para eliminar las comas antes del análisis, como este
parseInt(str.replace(/,/g,''), 10)
//or for decimals as well:
parseFloat(str.replace(/,/g,''))