强制python打印整个数字

时间:2013-09-16 17:20:53

标签: python python-2.7

这是我的问题:

如果我试图打印结果:

2**64

将打印:

18446744073709551616L

但现在如果我想打印结果:

1.8446744*10**19

这将打印:

1.8446744e+19

所以我的问题是:如何打印出我希望看到的1.8446744e + 19的整个结果:

18446744000000000000

在我的数字末尾是什么意思是符号L?

2 个答案:

答案 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