2010-02-24 5 views
16

Estoy tratando de usar javascript para cambiar un string a un int.tratando de cambiar la cadena -> int

var intVal = gSpread1.Text * 1; 

Quiero Tipo intVal 's para ser int.

puedo conseguir un valor int, si gSpread1.Text es menor que 1000.

Pero si gSpread1.Text es mayor que 1000, intVal vuelve NaN

¿Cuál es la forma correcta de utilizar ParseInt para asegurar que siempre devuelve un valor int?

+0

Se debe trabajar, se le han de depurar e inspeccionar el valor que está generando 'NaN' ... Gracias – CMS

+0

usted, ahora capto la razón. gSpread1.Text regresan con coma (,) si es gSpread1.Text 1234 convertir a int no está funcionando ... Realmente les agradezco a todos –

Respuesta

37

¿Usted intentó intVal = parseInt(gSpread1.Text, 10);

El 10 se llama la raíz, e indicar el sistema de numeración de usar.

ACTUALIZACIÓN: También hay un atajo útil que utiliza el símbolo +.
por ejemplo: +gSpread1.Text convertirá la cadena en un número. Y devolverá integer o float dependiendo del valor de la cadena.

+0

Buena respuesta - cuidado parseInt sin una raíz, porque "09" no es una número (no 9 en octal, que es lo que representa el prefijo 0) – Nicole

+0

+1 para el atajo :) – Binod

0

El siguiente código funciona para mí:

var intVal = parseInt("100000"); 
alert(intVal); 

Quizás publicar su código que no funciona? El problema puede estar en otra parte.

2

no hay ningún tipo int en JavaScript. Solo número. ParseInt está bien si tiene un número no decimal, o puede tener basura al final de la cadena como "5asdkfkasdk". Pero para el caso común, cuando sabes que tu cadena solo tiene dígitos decimales, prefiero usar el constructor Number(). Se ve más elegante y es más familiar para los programadores de C y Python que hacen mucho casting.

var numericValue = Number("100000"); 
var numericValue2 = parseInt("100000", 10); 

Ofrecen el mismo resultado del mismo tipo.

0

Si está seguro de que su cadena contiene int se puede utilizar un solo +

var n = "455"; 
n = +n; // now n is integer 
Cuestiones relacionadas