|
View:
New views
12 Messages
—
Rating Filter:
Alert me
|
|
|
How convert string '1e7' to an integer?It seems that int() does not convert '1e7'. I'm wondering what
function to use to convert '1e7' to an integer? >>> int('1e7') Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: invalid literal for int() with base 10: '1e7' -- http://mail.python.org/mailman/listinfo/python-list |
|
|
|
|
|
|
|
|
Re: How convert string '1e7' to an integer?Peng Yu wrote:
> It seems that int() does not convert '1e7'. I'm wondering what > function to use to convert '1e7' to an integer? > >>>> int('1e7') > Traceback (most recent call last): > File "<stdin>", line 1, in <module> > ValueError: invalid literal for int() with base 10: '1e7' In Python the e-form indicates a float, as does the presence of a decimal point, but you can convert to float and then to int: >>> int(float('1e7')) 10000000 -- http://mail.python.org/mailman/listinfo/python-list |
|
|
Re: How convert string '1e7' to an integer?Mick Krippendorf <mad.mick@...> writes:
> Peng Yu wrote: > > It seems that int() does not convert '1e7'. > It seems it does, though: > > >>> int('1e7', base=16) > 487 Well played, sir. -- \ “It is wrong to think that the task of physics is to find out | `\ how nature *is*. Physics concerns what we can *say* about | _o__) nature…” —Niels Bohr | Ben Finney -- http://mail.python.org/mailman/listinfo/python-list |
|
|
Re: How convert string '1e7' to an integer?Mensanator wrote:
> On Nov 7, 7:17 pm, Peng Yu <pengyu...@...> 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 Gary Herron > >> I'm wondering what >> function to use to convert '1e7' to an integer? >> >> >>>>> int('1e7') >>>>> > > >>>> int(1e7) >>>> > 10000000 > > > >> Traceback (most recent call last): >> File "<stdin>", line 1, in <module> >> ValueError: invalid literal for int() with base 10: '1e7' >> > > -- http://mail.python.org/mailman/listinfo/python-list |
|
|
Re: How convert string '1e7' to an integer?On Sat, Nov 7, 2009 at 8:17 PM, Peng Yu <pengyu.ut@...> wrote:
> It seems that int() does not convert '1e7'. I'm wondering what > function to use to convert '1e7' to an integer? > >>>> int('1e7') > Traceback (most recent call last): > File "<stdin>", line 1, in <module> > ValueError: invalid literal for int() with base 10: '1e7' Whenever you use that notation, you always get a float >>> 1e7 10000000.0 So to convert '1e7' to a number, you need to use float('1e7') which you can then convert to an int >>> int(float('1e7')) 10000000 > -- > http://mail.python.org/mailman/listinfo/python-list > -- http://mail.python.org/mailman/listinfo/python-list |
|
|
Re: How convert string '1e7' to an integer?Peng Yu wrote:
> It seems that int() does not convert '1e7'. I'm wondering what > function to use to convert '1e7' to an integer? 1e7 is a way to express a float in science and math. Try float("1e7") Christian -- http://mail.python.org/mailman/listinfo/python-list |
|
|
Re: How convert string '1e7' to an integer?Mick Krippendorf wrote:
> Peng Yu wrote: >> It seems that int() does not convert '1e7'. > It seems it does, though: > >>>> int('1e7', base=16) > 487 Bah...so narrow-minded ;-) >>> print '\n'.join("Base %i: %i" % (base, int('1e7', base=base)) for base in range(15,37)) Base 15: 442 Base 16: 487 Base 17: 534 Base 18: 583 Base 19: 634 Base 20: 687 Base 21: 742 Base 22: 799 Base 23: 858 Base 24: 919 Base 25: 982 Base 26: 1047 Base 27: 1114 Base 28: 1183 Base 29: 1254 Base 30: 1327 Base 31: 1402 Base 32: 1479 Base 33: 1558 Base 34: 1639 Base 35: 1722 Base 36: 1807 I feel so dirty interpreting numbers in convenient ways...like an accountant. ("whaddaya mean I can't file my tax-return in base 17?! There's nothing in the supporting documentation that mentions such draconian restrictions!") -tkc -- http://mail.python.org/mailman/listinfo/python-list |
|
|
|
|
|
Re: How convert string '1e7' to an integer?Just a curiosity, why does Python do this?
>>> l = [(base, int('1e7', base=base)) for base in range(15,37)] >>> l [(15, 442), (16, 487), (17, 534), (18, 583), (19, 634), (20, 687), (21, 742), (22, 799), (23, 858), (24, 919), (25, 982), (26, 1047), (27, 1114), (28, 1183), (29, 1254), (30, 1327), (31, 1402), (32, 1479), (33, 1558), (34, 1639), (35, 1722), (36, 1807)] >>> l = ([base, int('1e7', base=base)] for base in range(15,37)) >>> l <generator object at 0x027803A0> >>> -- http://mail.python.org/mailman/listinfo/python-list |
|
|
Re: How convert string '1e7' to an integer?Thomas wrote:
> Just a curiosity, why does Python do this? > >>>> [(base, int('1e7', base=base)) for base in range(15,37)] > [(15, 442), (16, 487), (17, 534), (18, 583), (19, 634), (20, 687), > (21, 742), (22, 799), (23, 858), (24, 919), (25, 982), (26, 1047), > (27, 1114), (28, 1183), (29, 1254), (30, 1327), (31, 1402), (32, > 1479), (33, 1558), (34, 1639), (35, 1722), (36, 1807)] >>>> ([base, int('1e7', base=base)] for base in range(15,37)) > <generator object at 0x027803A0> Because the former is a list comprehension, whereas the latter is a generator expression. Mick. -- http://mail.python.org/mailman/listinfo/python-list |
| Free embeddable forum powered by Nabble | Forum Help |