python控制浮点数的小数点后两位输出_浮点数-Python,在输出中将所有浮点数打印到2个小数位...

浮点数-Python,在输出中将所有浮点数打印到2个小数位

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

这就是我所拥有的:

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

这很不干净,看起来也很烂。 是否有办法在输出’%.2f’中进行浮动?

注意:使用Python 2.6。

7个解决方案

71 votes

好吧,我至少会清理如下:

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

Frank Krueger answered 2019-10-12T11:07:22Z

25 votes

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

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’

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

编辑:要使用“名称=值”语法,只需在列表理解范围内更改按元素操作:

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’

awesomo answered 2019-10-12T11:08:05Z

20 votes

格式字符串语法。

[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’

Chikipowpow answered 2019-10-12T11:08:44Z

7 votes

如果您正在寻找可读性,我相信这是该代码:

print ‘%(kg).2f kg = %(lb).2f lb = %(gal).2f gal = %(l).2f l’ % {

‘kg’: var1,

‘lb’: var2,

‘gal’: var3,

‘l’: var4,

}

Cacilhas answered 2019-10-12T11:09:07Z

5 votes

我刚刚发现了round函数-它在Python 2.7中,不确定2.6。 它使用浮点数和dps的数量作为参数,因此round(22.55555,2)给出结果22.56。

Rioka answered 2019-10-12T11:09:31Z

2 votes

如果要使打印操作自动将浮点数更改为仅显示小数点后两位,请考虑编写一个函数来替换“打印”。 例如:

def fp(*args): # fp means ‘floating print’

tmps = []

for arg in args:

if type(arg) is float: arg = round(arg, 2) # transform only floats

tmps.append(str(arg))

print(” “.join(tmps)

使用fp()代替打印…

fp(“PI is”, 3.14159) …而不是… print “PI is”, 3.14159

Richard_M. answered 2019-10-12T11:10:10Z

1 votes

不是直接以您想要的方式写的,不是。 Python的设计宗旨之一是“显式优于隐式”(请参阅import this)。 这意味着最好描述您想要的内容,而不是让输出格式取决于某些全局格式设置或其他内容。 您当然可以用不同的格式设置代码,使其看起来更好:

print ‘%.2f’ % var1, \

‘kg =’ ,’%.2f’ % var2, \

‘lb =’ ,’%.2f’ % var3, \

‘gal =’,’%.2f’ % var4, \

‘l’

Greg Hewgill answered 2019-10-12T11:10:35Z

    原文作者:中华遗产杂志
    原文地址: https://blog.csdn.net/weixin_32571629/article/details/112892506
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞