我想弄清楚如何打印四捨五入到有效數字的格式化字符串。說我有:在Python中格式化整數和浮動內部字符串
x = 8829834.123
而我想打印它舍入爲四個字母,作爲一個整數。 我想:
print "%4d"%x
,我只是得到:
8829834
爲什麼不會它顯示:
8829000?
我認爲這是字符串格式化是如何工作的。
我想弄清楚如何打印四捨五入到有效數字的格式化字符串。說我有:在Python中格式化整數和浮動內部字符串
x = 8829834.123
而我想打印它舍入爲四個字母,作爲一個整數。 我想:
print "%4d"%x
,我只是得到:
8829834
爲什麼不會它顯示:
8829000?
我認爲這是字符串格式化是如何工作的。
格式說明不支持整數四捨五入,可能有一些解決方案,但沒有現成的,這裏有他們夫婦
>>> print "{:d}000".format(int(x/1000))
8829000
>>> print "{:d}".format(int(round(x,-3)))
8830000
如果'x'具有不同的數量級,它不會產生四捨五入爲有效數字的結果例如'123456789' – jfs
四捨五入到4個顯著數字:
f = float("%.4g" % 8829834.123)
以整數形式打印:
print "%.0f" % f
# -> 8830000
看看這個問題:http://stackoverflow.com/questions/3348825/how-to-round-intege RS-中,蟒蛇。 您可以考慮使用round(),如接受的答案中所述。 – Bharat
可能重複? http://stackoverflow.com/questions/9415939/how-can-i-print-many-significant-figures-in-python –