如何以非指数形式在Python中打印非常大的自然数?

时间:2014-09-07 10:22:07

标签: python python-3.x

数字可能非常大

n = input()
print(n) #gives output in scientific notation

如何获得整个号码?

PS:python的新手

编辑:

s = (input())      #100000000000000000000000000000000000000
if int(s[-1])%2 == 0:
    print (2)
    print (2)
    print (int(s)/2)         #5e+37

2 个答案:

答案 0 :(得分:2)

在Python 3中,如果要进行整数除法,请使用//运算符:

print(int(s) // 2)

除法的结果将是整数,不会以科学记数法打印出来。

答案 1 :(得分:0)

您可以使用{:2E}格式代码将大数字格式化为科学记数法。例如:

>>> "{:.2E}".format(100000000000000000000000000000000000000)
'1.00E+38'

另一种变体:

>>> n = 100000000000000000000000000000000000000
>>> '%2E' % n
'1.000000E+38'

有关从输出中删除多余零的讨论,请参阅this question