Gary Herron schreef: > Mensanator wrote: >> On Nov 7, 7:17 pm, Peng Yu <pengyu...@gmail.com> 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