8

これが私の問題です:

たとえば、次の結果を印刷しようとすると:

2**64

印刷されます:

18446744073709551616L

しかし、今、次の結果を印刷したい場合:

1.8446744*10**19

これは印刷されます:

1.8446744e+19

だから私の質問は: 1.8446744e+19 の結果全体を表示するにはどうすればよいですか?

18446744000000000000

数字の末尾にある記号 L はどういう意味ですか?

4

2 に答える 2

8

まず、数字の末尾にある L は、型が「長い」ことを意味します。次の方法で型を確認できます。

>>> type(18446744000000000000)
long

次に、科学的表記法としてではなく結果を取得するには、数値を long に変換するだけです。

>>> long(1.8446744*10**19)
18446744000000000000L

int として変換しようとすることができます。python は自動的に long として変換します。

PS:これはpython 2.2以降でのみ機能しますが、python 3では機能しません

于 2013-09-16T17:22:20.997 に答える