6

私のプログラムでは、フロート番号をファイルに出力しています。これらの数値は高精度であるため、小数点以下の桁数が多くなります。つまり、数値0.0433896882981です。ファイルに印刷する桁数を減らすにはどうすればよいですか?したがって、たとえば、0.0433896882981ではなく0.043を印刷します。

4

3 に答える 3

13

次のような基本的な文字列フォーマットを使用できます。

>>> print '%.4f' % (2.2352341234)
2.2352

ここで、%.4fはPythonに精度を小数点以下4桁に制限するように指示します。

于 2012-05-04T20:13:13.297 に答える
8

どのバージョン、または実際にどのように実行しているのかはわからないので、3.xを想定します。

str.format("{0:.3f}", pi) # use 3 digits of precision and float-formatting.

フォーマット指定子は通常、次のようになります。

[[fill] align] [sign] [#] [0][minimumwidth][。precision][type]

その他の例:

>>> str.format("{0:" ">10.5f}", 3.14159265)
'   3.14159'
>>> str.format("{0:0>10.5f}", 3.14159265)
'0003.14159'
>>> str.format("{0:<10.5f}", 3.14159265)
'3.14159   '
于 2012-05-04T20:14:31.877 に答える
3

小数点以下の桁数は、以下のフォーマットディレクティブで指定できます。

In [15]: n = 0.0433896882981
In [16]: print '%.3f' % n

その結果:

0.043

この% f部分は、小数点付きの数値、つまり小数点以下の桁数を印刷していることを示しています.3

追加の例:

In [17]: print '%.1f' % n
0.0

In [18]: print '%.2f' % n
0.04

In [19]: print '%.4f' % n
0.0434

In [20]: print '%.5f' % n
0.04339
于 2012-05-04T20:13:30.827 に答える