¿Por qué es esta diferencia de comportamiento entre parseInt()
y parseFloat()
?Diferencia de comportamiento entre parseInt() y parseFloat()
Tengo una cadena que contiene 08
en ella.
Cuando escribo este código: se genera
alert(hfrom[0]);
alert(parseInt(hfrom[0]));
alert(parseFloat(hfrom[0]));
La siguiente salida:
08
0
8
¿Por qué parseInt
y parseFloat
regreso dos resultados diferentes en este caso?
Comprobar la presente OS mensaje: http://stackoverflow.com/questions/6900857/alertparseint09-shows-me-0-why Esto se debe a que parseInt asume 08 para analizarse como base Octal, ya que comienza con 0 – Chandu
Al ejecutar en jsfilddle en cromo, obtengo '8' para ambas funciones: http://jsfiddle.net/ nqNvw/ – gideon
@gideon, eso se debe a que pasaste números que ya se convirtieron a enteros de base 10. Si pasa * strings * se comporta de manera diferente. Ver: http://jsfiddle.net/nqNvw/1/ (este es definitivamente un tipo de cosas wtfjs) –