フォーマットされた文字列を有効数字に丸めて印刷する方法を理解しようとしています。私が持っていると言う:
x = 8829834.123
そして、整数として4つの有効数字に丸めて印刷したいと思います。私は試した:
print "%4d"%x
そして私はちょうど得る:
8829834
なぜ表示されないのですか:
8829000?
それが文字列のフォーマットの仕組みだと思いました。
有効数字4桁に丸めるには:
f = float("%.4g" % 8829834.123)
整数として出力するには:
print "%.0f" % f
# -> 8830000
フォーマット指定子は整数の丸めをサポートしていません。いくつかの解決策があるかもしれませんが、すぐに使用できるわけではありません。いくつかの解決策を次に示します。
>>> print "{:d}000".format(int(x/1000))
8829000
>>> print "{:d}".format(int(round(x,-3)))
8830000