Gary Herron schreef:
> Mensanator wrote:
>> On Nov 7, 7:17 pm, Peng Yu <[email protected]> wrote:
>>
>>> It seems that int() does not convert '1e7'.
>>>
>> Because 'e' isn't a valid character in base 10.
>>
>
> But 1e7 is a valid float, so this works:
>
> >>> int(float('1e7'))
> 10000000
>
> That has a problem though, if you surpass the ability of a float:
>
> >>> int(float('1e20'))
> 100000000000000000000L
> >>> int(float('1e30'))
> 1000000000000000019884624838656L
If that is a concern, decimal can help:
>>> import decimal
>>> int(decimal.Decimal('1e30'))
1000000000000000000000000000000L
--
The saddest aspect of life right now is that science gathers knowledge
faster than society gathers wisdom.
-- Isaac Asimov
Roel Schroeven
--
http://mail.python.org/mailman/listinfo/python-list