En JavaScript / jQuery ¿cuál es la mejor manera de convertir un número con una coma en un entero?

StackOverflow https://stackoverflow.com/questions/4083372

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?

¿Fue útil?

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):

http://javascript.crockford.com/code.html

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,''))

Puede probar aquí .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top