如何打印百分比值?
- 2025-03-11 08:51:00
- admin 原创
- 32
问题描述:
给定一个 0 到 1 之间的浮点数,如何将其打印为百分比?
例如,1/3
应打印为33%
。
解决方案 1:
从 Python 3.0 开始,str.format
支持format
百分比表示类型:
>>> f"{1/3:.0%}"
'33%'
>>> "{:.0%}".format(1/3)
'33%'
>>> format(1/3, ".0%")
'33%'
百分比。将数字乘以 100 并以固定 (
'f'
) 格式显示,后跟百分号。
.0
格式规范的部分表明.0%
您希望小数点后精度为零位,因为f"{1/3:%}"
您将获得字符串'33.333333%'
。
它适用于整数、浮点数和小数。请参阅PEP 3101。
解决方案 2:
对于格式化方法,有一种更方便的“百分比”格式化选项.format()
:
>>> '{:.1%}'.format(1/3.0)
'33.3%'
解决方案 3:
只需添加 Python 3 f 字符串解决方案
prob = 1.0/3.0
print(f"{prob:.0%}") # 33%
print(f"{prob:.2%}") # 33.33%
解决方案 4:
只是为了完整性,因为我注意到没有人建议这种简单的方法:
>>> print("%.0f%%" % (100 * 1.0/3))
33%
细节:
%.0f
代表“打印小数点后 0 位的浮点数”,因此%.2f
将打印33.33
%%
打印文字%
。比原来的更干净一点+'%'
1.0
而不是1
负责强制部门浮动,所以不再0.0
解决方案 5:
您正在除以整数,然后将其转换为浮点数。请改为除以浮点数。
作为奖励,使用这里描述的出色的字符串格式化方法:http://docs.python.org/library/string.html#format-specification-mini-language
指定百分比转换和精度。
>>> float(1) / float(3)
[Out] 0.33333333333333331
>>> 1.0/3.0
[Out] 0.33333333333333331
>>> '{0:.0%}'.format(1.0/3.0) # use string formatting to specify precision
[Out] '33%'
>>> '{percent:.2%}'.format(percent=1.0/3.0)
[Out] '33.33%'
一颗伟大的宝石!
解决方案 6:
那么你可能想这样做:
print str(int(1.0/3.0*100))+'%'
将.0
它们表示为浮点数,int()
然后再次将它们四舍五入为整数。
解决方案 7:
我用这个
ratio = round(1/3, 2)
print(f"{ratio} %")
output: 0.33 %
解决方案 8:
这就是我为了让它工作所做的,效果很好
divideing = a / b
percentage = divideing * 100
print(str(float(percentage))+"%")
相关推荐
热门文章
项目管理软件有哪些?
热门标签
云禅道AD