Python,在outpu中将所有浮点打印到小数点后2位

2024-04-24 00:43:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要输出4个不同的浮点数到小数点后两位。

这就是我所拥有的:

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

很不干净,看起来很糟糕。有没有办法在输出'.2f'的地方做任何浮动?

注意:使用Python2.6。


Tags: 地方galprint浮点数lbkg办法小数点
3条回答

如果只想将值转换为好看的字符串,请执行以下操作:

twodecimals = ["%.2f" % v for v in vars]

或者,也可以打印出问题中的单位:

vars = [0, 1, 2, 3] # just some example values
units = ['kg', 'lb', 'gal', 'l']
delimiter = ', ' # or however you want the values separated

print delimiter.join(["%.2f %s" % (v,u) for v,u in zip(vars, units)])
Out[189]: '0.00 kg, 1.00 lb, 2.00 gal, 3.00 l'

第二种方法允许您方便地更改分隔符(制表符、空格、换行符等),以满足您的需要;分隔符也可以是函数参数,而不是硬编码。

编辑:若要使用“name=value”语法,只需更改列表理解中的元素操作:

print delimiter.join(["%s = %.2f" % (u,v) for v,u in zip(vars, units)])
Out[190]: 'kg = 0.00, lb = 1.00, gal = 2.00, l = 3.00'

格式字符串语法。

https://docs.python.org/3/library/string.html#formatstrings

from math import pi
var1, var2, var3, var4 = pi, pi*2, pi*3, pi*4
'{:0.2f}, kg={:0.2f}, lb={:0.2f}, gal={:0.2f}'.format(var1, var2, var3, var4)

结果将是:

'3.14, kg=6.28, lb=9.42, gal=12.57'

好吧,我至少要清理一下如下:

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

相关问题 更多 >