3

私はこの質問に意味があることを願っています。

小さなフロートを印刷すると、6.1248979238e-05似たようなものになることがあります。

「何があっても、このように10桁の精度で出力する」と言えるようにしたいと思います。0.abcdefghij

4

1 に答える 1

7
>>> '%0.10f'% 6.1248979238e-05 
'0.0000612490'

これは「文字列補間」またはprintfスタイルのフォーマットであり、現在でも広くサポートされ、使用されています。もう1つのオプションは、新しいスタイルの文字列フォーマットです。

>>> '{:.10f}'.format(6.1248979238e-05)
'0.0000612490'

または、python2.6と互換性を持たせたい場合:

>>> '{0:.10f}'.format(6.1248979238e-05)
'0.0000612490'

好きなものを選んでください。使用するバージョンは、サポートするPythonのバージョンによって異なります。python2.7のみをターゲットにしている場合は、問題ありません。以前のバージョンをサポートする場合は、printf-styleを使用してください。私は個人的に、ほとんどのコードで最後のフォームを使用するように切り替えました。python2.5のサポートは気にしませんが、python2.6はまだ十分に新しいので、可能な場合はサポートしたいと思います。

于 2013-01-03T16:43:08.097 に答える