python - round - 浮點數二進位




Python,在輸出中打印所有浮點數到2個小數位 (4)

我需要輸出4個不同的浮點數到小數點後兩位。

這是我的:

print '%.2f' % var1,'kg =','%.2f' % var2,'lb =','%.2f' % var3,'gal =','%.2f' % var4,'l'

這是非常不潔的,看起來不好。 有沒有一種方法可以使浮動在'%.2f'?

注意:使用Python 2.6。


不是直接以你想寫的方式,沒有。 Python的設計原則之一是“顯式優於隱式”(請參閱import this )。 這意味著最好是描述你想要的,而不是讓輸出格式依賴於某些全局格式化設置。 你當然可以格式化你的代碼,使其看起來更好:

print         '%.2f' % var1, \
      'kg =' ,'%.2f' % var2, \
      'lb =' ,'%.2f' % var3, \
      'gal =','%.2f' % var4, \
      'l'

那麼我會盡可能清理它如下:

print "%.2f kg = %.2f lb = %.2f gal = %.2f l" % (var1, var2, var3, var4)

如果你正在尋找可讀性,我相信這是代碼:

print '%(kg).2f kg = %(lb).2f lb = %(gal).2f gal = %(l).2f l' % {
    'kg': var1,
    'lb': var2,
    'gal': var3,
    'l': var4,
}

我剛剛發現了一個循環函數 - 它在Python 2.7中,不知道2.6。 它以一個浮點數和dps數作為參數,所以round(22.55555,2)給出了22.56的結果。





string-formatting