有没有办法让python用科学记数法打印非常大的long?我指的是10^1000或更大的数字,在这种大小下,标准打印%e%num失败。
例如:
Python 2.6.2 (release26-maint, Apr 19 2009, 01:56:41) [GCC 4.3.3] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> print "%e" % 10**100 1.000000e+100 >>> print "%e" % 10**1000 Traceback (most recent call last): File "", line 1, in TypeError: float argument required, not long
似乎python正在尝试将long转换为float,然后打印它,是否可以让python只以科学符号打印long,而不将其转换为float?
以下是仅使用标准库的解决方案:
不需要使用第三方库。这是Python3中的一个解决方案,它适用于大整数。
gmpy为了营救……:
当然,作为最初的作者和
gmpy
的提交者,我是有偏见的,但我确实认为它简化了一些任务,比如这个任务,如果没有它,可能会是一件很麻烦的事情(我不知道没有一些插件的简单方法,而且gmpy
绝对是我在这里选择的插件;-)。相关问题 更多 >
编程相关推荐