我正在试图弄清楚如何打印格式化的字符串四舍五入到有效数字。说我有:
x = 8829834.123
我想将它四舍五入到四个sig figs,作为整数。 我试过了:
print "%4d"%x
我得到:
8829834
为什么不显示:
8829000?
我认为这就是字符串格式化的方式。
答案 0 :(得分:4)
要舍入到4位有效数字:
f = float("%.4g" % 8829834.123)
将其打印为整数:
print "%.0f" % f
# -> 8830000
答案 1 :(得分:2)
Format Specifier不支持整数舍入,可能有一些解决方案,但不是开箱即用,这里有几个
>>> print "{:d}000".format(int(x/1000))
8829000
>>> print "{:d}".format(int(round(x,-3)))
8830000