Ver Mensaje Individual
  #3 (permalink)  
Antiguo 28/05/2010, 09:27
Avatar de Tecna
Tecna
 
Fecha de Ingreso: enero-2010
Mensajes: 291
Antigüedad: 14 años, 4 meses
Puntos: 45
Respuesta: sumarle un número a otro que antes era string

Buenas,

la explicación a lo que te está pasando es que según la especificación ECMAScript cuando la cadena que se quiere convertir mediante parseInt() comienza por un cero se puede convertir si no se especifica la base, que sería el segundo parámetro, como un número octal, que es lo que te está haciendo. Pero como en los números octales sólo se admiten dígitos del 0 al 7 y parseInt cuando encuentra un caracter no válido termina la conversión, cuando llega al 8 que no es válido en el sistema octal ya no lo incluye en el número y por eso devuelve 0 y lo mismo pasaría con 09 pero también con 018 y 019 y en ese caso devolvería 1 y con 028 y 029 que devolvería 2. Al incluir la base 10 como segundo parámetro como has hecho, se soluciona el problema porque se fuerza a que la conversión se haga a decimal.

Me acabo de dar cuenta de que:

Código Javascript:
Ver original
  1. alert('Es mi mensaje nº : ' + parseInt('1100100', 2));

Última edición por Tecna; 28/05/2010 a las 09:59