Una sinfonía en C#

Un pequeño aporte a la comunidad de habla hispana.

Tips de Javascript: parseInt

Muchas veces nos encontramos con la necesidad de convertir un valor que inicialmente es texto en un entero, entonces rápidamente se nos ocurre ir a buscar la función parseInt de javascript, bien, existe un detalle muy interesante acerca del comportamiento de la misma, veámos un ejemplo.

var valor = "10";
var numero = parseInt(valor); 
console.log(numero);

image

(con F12 activamos el IE Develpoer Toolbar que nos permite tener acceso al objeto console)

Esto está muy bien, es el resultado esperado, pero qué pasa si hacemos lo siguiente.

var valor = "010";
var numero = parseInt(valor); 
console.log(numero);

image

chan!! nos da 8.

parseInt infiere que el valor que ingresamos está en base octal, y resulta que 10 en octal es 8 la forma correcta de evitar esto es siempre indicar la base como segundo parámetro de la función parseInt como se indica en la documentación de Mozilla.

var valor = "010";
var numero = parseInt(valor, 10); 
console.log(numero);

image

y problema solucionado, hasta la próxima.

Comments (3) -

  • Obi

    10/31/2011 9:45:56 AM | Reply

    Yo en lugar de parseInt uso ~~

    Probalo, ~~"010" da como resultado, 10

  • leonardo

    10/31/2011 9:52:16 AM | Reply

    Ah bueno, esa sí que no la tenía, sin embargo me prece muy poco claro, muy "perl-style", de todos modos nunca lo había visto, gracias!

  • Obi

    10/31/2011 10:20:53 AM | Reply

    Es poco claro, pero es divertido. Es un buen tema de conversacion en code reviews Tong

Loading