这是我的问题:
如果我试图打印结果:
2**64
将打印:
18446744073709551616L
但现在如果我想打印结果:
1.8446744*10**19
这将打印:
1.8446744e+19
所以我的问题是:如何打印出我希望看到的1.8446744e + 19的整个结果:
18446744000000000000
在我的数字末尾是什么意思是符号L?
答案 0 :(得分:8)
首先,数字末尾的L表示类型为'long',您可以通过以下方式检查类型:
>>> type(18446744000000000000)
long
然后,为了使您的结果不是科学记数法,您只需将您的数字转换为长数字:
>>> long(1.8446744*10**19)
18446744000000000000L
您可以尝试将其转换为int,python会自动将其转换为long。
PS:这仅适用于python 2.2及更高版本,但不适用于python 3
答案 1 :(得分:7)
使用字符串格式设置要显示的格式:
>>> print "%.0f" % (1.8446744*10**19)
18446744000000000000