我在下面用以产生百分比:
L = ['aa', 'bb']
for row, each in enumerate(l):
percent = float(row)/150 * 100
print "{0:.0f}%".format(percent)
我想要的是分别有“0%”和“0.67%”,但它给出“0%”和“1%”。
以什么方式我可以纠正它?感谢。
答案 0 :(得分:3)
来自官方documentation:
'f' - 定点。将数字显示为定点数。默认精度为6.
...
精度是一个十进制数,表示在用'f'和'F'格式化的浮点值的小数点后应显示多少位数。
所以你可以说小数点后你想要多少位数。
>>> "{0:.2f}%".format(123.4567)
'123.46%'
>>>
>>> "{0:.5f}%".format(123.4567)
'123.45670%'
所以将其更改为:"{0:.2f}%".format(percent)
并且for循环行中也有拼写错误,它应为enumerate(L)
L = ['aa', 'bb']
for row, each in enumerate(L):
percent = float(row)/150 * 100
print "{0:.2f}%".format(percent)
打印
0.00%
0.67%
答案 1 :(得分:3)
你需要知道你想要的小数点后的数字。
for row, each in enumerate(L):
percent = float(row)/150 * 100
print "{0:.02f}%".format(percent)
输出: -
0.00%
0.67%
在print "{0:.02f}%".format(percent)
输出: - 0.667%