我在Python中有一个格式为'nn.nnnnn'的字符串,我想将它转换为整数。将字符串转换为Python中的十进制整数
直接转换失败:
>>> s = '23.45678'
>>> i = int(s)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: '23.45678'
我可以用它转换为十进制:“”
>>> from decimal import *
>>> d = Decimal(s)
>>> print d
23.45678
我也可以拆分,然后从零减去小数,再加入那整个号码......哎呀。
但我更喜欢把它作为一个整型,没有不必要的类型转换或机动。
Matt,23.45678不是整数。如果你想Python将一个字符串转换为一个整数,确保你给它一个整数。对于什么是“正确”的事情,可以采取任何方式进行争论,最终有人会不高兴。 – Christopher 2009-07-07 20:49:02