具有大整数的 Python 3

标签 python python-3.x

我使用 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/

相关文章:

python - 如何将required.txt中提到的所有python包下载到linux的文件夹中?

python - 维吉内尔密码输出包括原始消息

python - *a, b, c = line.split() 中的 Asterisk 有什么作用?

python - Python 提供的单元测试重试功能

python - Pycassa,线程池, "Exception in thread Thread-3 (most likely raised during interpreter shutdown):"

python-3.x - 如何通过谷歌云功能触发云存储中的特定扩展文件

python - 在 Python 2 和 Python 3 中捕获破损的管道

python - 使用闭包实现 python 生成器

python - 获取文本 Python 之间的字符串

python - 如何从odoo中的二进制图像获取完整路径