我使用 Python 来处理一些大整数(64 位,无符号)。我正在尝试将一串值转换为整数。但是我的 Python3 给了我错误的结果。 例如,如果我将输入字符串“12736193479609682490”转换为整数,结果不是我所期望的:
a = '12736193479609682490'
b = int(float(a))
>>>b
12736193479609681920
我在 ubuntu 12.04-64 位下使用 Python 3.4.0。我应该怎么做才能进行正确的转换?谢谢。
最佳答案
不要先转换为 float 。
>>> int("12736193479609682490")
12736193479609682490
这个数字太大了,无法准确地存储在 float 中!
关于具有大整数的 Python 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22467924/