这是我的问题:
如果我试图打印结果:
2**64
Run Code Online (Sandbox Code Playgroud)
将打印:
18446744073709551616L
Run Code Online (Sandbox Code Playgroud)
但现在如果我想打印结果:
1.8446744*10**19
Run Code Online (Sandbox Code Playgroud)
这将打印:
1.8446744e+19
Run Code Online (Sandbox Code Playgroud)
所以我的问题是:如何打印1.8446744e + 19的整个结果我想看到:
18446744000000000000
Run Code Online (Sandbox Code Playgroud)
什么意味着我的数字末尾的符号L?
首先,数字末尾的L表示类型为'long',您可以通过以下方式检查类型:
>>> type(18446744000000000000)
long
Run Code Online (Sandbox Code Playgroud)
然后,为了使您的结果不是科学记数法,您可以将您的数字转换为长数:
>>> long(1.8446744*10**19)
18446744000000000000L
Run Code Online (Sandbox Code Playgroud)
你可以尝试将它转换为int,python会自动将其转换为long.
PS:这只适用于python 2.2和upper,但不适用于python 3
使用字符串格式设置要显示的格式:
>>> print "%.0f" % (1.8446744*10**19)
18446744000000000000
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8937 次 |
最近记录: |