Python打印限制为小数点后两位

wre*_*rek 0 python

我想在小数点后两位打印数字,我有以下内容:

a= [ 0.1111113, 0.222222]
print '{0:.2f}, {0:.2f}'.format(a[0], a[1])
Run Code Online (Sandbox Code Playgroud)

输出:0.11,0.11

但这不对,应该是0.11,0.22,这是不正确的!

到底是怎么回事?

Sim*_*onF 7

您正在引用第一个(第0个)参数来格式化两个时间,更改为第一个和第二个,如下所示:

a = [0.1111113, 0.222222]
print '{0:.2f}, {1:.2f}'.format(a[0], a[1])
Run Code Online (Sandbox Code Playgroud)

或跳过索引:

a = [0.1111113, 0.222222]
print '{:.2f}, {:.2f}'.format(a[0], a[1])
Run Code Online (Sandbox Code Playgroud)

或传递所有的格式:

a = [0.1111113, 0.222222]
print '{0[0]:.2f}, {0[1]:.2f}'.format(a)
Run Code Online (Sandbox Code Playgroud)

使用示例进行字符串格式化的完整文档