我想将数字打印在小数点后两位,我具有以下内容:
a= [ 0.1111113, 0.222222]
print '{0:.2f}, {0:.2f}'.format(a[0], a[1])
输出:0.11、0.11
但这是不对的,应该是0.11、0.22,这是不正确的!
这是怎么回事?
答案 0 :(得分:7)
您正在引用第一个(第0个)参数来两次格式化,如下所示更改为第一个和第二个:
a = [0.1111113, 0.222222]
print '{0:.2f}, {1:.2f}'.format(a[0], a[1])
或跳过索引:
a = [0.1111113, 0.222222]
print '{:.2f}, {:.2f}'.format(a[0], a[1])
或将所有a传递为格式:
a = [0.1111113, 0.222222]
print '{0[0]:.2f}, {0[1]:.2f}'.format(a)
答案 1 :(得分:1)
你可以做
>>> B.m1()
3
>>> B.m2(6)
>>> B.x
3
>>> B.y
6
>>> import inspect
>>> print(inspect.signature(B.m2))
(n)
>>> print(inspect.signature(B.m1))
()
如果您想获得出色的性能,请转到> Python 3.4 然后,您可以执行以下操作:
a= [ 0.1111113, 0.222222]
print '{:.2f}, {:.2f}'.format(*a)
;)
答案 2 :(得分:1)
您还可以使用round()
函数:
a= [ 0.1111113, 0.222222]
b= [round(i,2) for i in a]
print(b)
# output [0.11, 0.22]