[pyar] Int anti-intuitivo
Hystrix
ego en hystrix.com.ar
Mar Nov 16 20:33:10 ART 2010
2010/11/15 Sebastian Bassi <sbassi en clubdelarazon.org>:
>>>> int(2)
> 2
>>>> int(2.1)
> 2
>>>> int("2")
> 2
>>>> int("2.1")
> Traceback (most recent call last):
> File "<stdin>", line 1, in <module>
> ValueError: invalid literal for int() with base 10: '2.1'
> Hubiese esperado que me devuelva 2.
>
En el primer caso estas convirtiendo a int un int, lo cual funciona.
En el segundo caso estas convirtiendo a int un float y funciona.
En el tercer caso convertis un string que representa a un int, tambien funciona.
Pero en el cuarto caso queres convertir un string que no representa a
un int, es logico que falle. Lo que si tiene que funcionar es:
>>> int(float("2.1"))
2
Para int "2.1" es lo mismo que "dos.uno" y que "unstring", strings que
no representan enteros.
--
Hystrix
More information about the pyar
mailing list