如何打印百分比值?
给定一个在0到1之间的小数,怎么把它打印成百分比呢?
比如说,1/3
应该显示为 33%
。
8 个回答
95
这里补充一个使用Python 3的f-string解决方案
prob = 1.0/3.0
print(f"{prob:.0%}") # 33%
print(f"{prob:.2%}") # 33.33%
223
有一种更方便的“百分比”格式化选项,可以用在.format()
这个格式化方法里:
>>> '{:.1%}'.format(1/3.0)
'33.3%'
403
自从Python 3.0开始,str.format
和format
就支持一种叫做百分比表示法:
>>> f"{1/3:.0%}"
'33%'
>>> "{:.0%}".format(1/3)
'33%'
>>> format(1/3, ".0%")
'33%'
百分比。它会把数字乘以100,然后以固定的格式(
'f'
)显示,最后加上一个百分号。
格式说明中的.0
部分表示你希望小数点后没有数字,因为如果你用f"{1/3:%}"
,你会得到字符串'33.333333%'
。