2010-09-02 9 views

Respuesta

55
var x = "1px"; 
var y = parseInt(x, 10); // specify radix to prevent unpredictable behavior 
+0

"Un entero que representa la raíz de la cadena antes mencionada. * Especifique siempre * este parámetro para eliminar la confusión del lector y * para garantizar un comportamiento predecible *. Las diferentes implementaciones producen resultados diferentes cuando no se especifica una raíz " https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseInt –

+0

Debido a algunos problemas con IE, es posible que ParseFloat sea mejor. Esto se debe a que IE usa píxeles parciales, como 27.86 en lugar de 28. – Teegan

2

Utilizando el método String.replace() es una manera fácil:

http://www.w3schools.com/jsref/jsref_replace.asp

+0

¿Por qué el voto a favor? Puedo pensar en varios lugares donde ParseInt y ParseFloat son demasiado quisquillosos para uso general. –

+0

Heh sí, el mismo usuario también rechazó la pregunta junto con mi respuesta antes de que Alex Reitbort diera su respuesta. Probablemente solo un usuario malicioso: P –

0

Es mejor utilizar parseFloat()

En situaciones donde se tiene decimales, como 0.5s para la transición de retardo, parseInt (x, 10) devuelve cero, donde en cambio parseFloat() devuelve 0.5

var x = "0.5s"; 
var y = parseFloat(x); //returns 0.5 
+0

La pregunta es específicamente sobre los píxeles ('0.5px' no es tan común como' 0.5s'). –

4

Opción 1:

parseInt('200px', 10); 

La función parseInt() analiza una cadena y devuelve un entero. No cambie los 10 que se encuentran en la función anterior (conocida como "raíz") a menos que sepa lo que está haciendo.

de salida será: 200.

Opción 2(yo personalmente prefiero esta opción)

parseFloat('200px') 

de salida será: 200

El parseFloat () la función analiza una cadena y devuelve un número de coma flotante.

La función parseFloat() determina si el primer carácter en la cadena especificada es un número. Si es así, analiza la cadena hasta que llega al final del número, y devuelve el número como un número, no como una cadena.

La ventaja de la Opción 2 es que si usa números decimales (por ejemplo, 200.32322px) obtendrá el número devuelto con los valores detrás del punto decimal. Útil si necesita números específicos devueltos.

Cuestiones relacionadas