3

フォーマットされた文字列を有効数字に丸めて印刷する方法を理解しようとしています。私が持っていると言う:

x = 8829834.123

そして、整数として4つの有効数字に丸めて印刷したいと思います。私は試した:

print "%4d"%x

そして私はちょうど得る:

8829834

なぜ表示されないのですか:

8829000?

それが文字列のフォーマットの仕組みだと思いました。

4

2 に答える 2

4

有効数字4桁に丸めるには:

f = float("%.4g" % 8829834.123)

整数として出力するには:

print "%.0f" % f
# -> 8830000
于 2012-12-17T07:32:35.167 に答える
2

フォーマット指定子は整数の丸めをサポートしていません。いくつかの解決策があるかもしれませんが、すぐに使用できるわけではありません。いくつかの解決策を次に示します。

>>> print "{:d}000".format(int(x/1000))
8829000
>>> print "{:d}".format(int(round(x,-3)))
8830000
于 2012-12-17T07:19:42.597 に答える