2024-04-19 13:28:20 发布
网友
我想把一个十进制数(比如0.33333)转换成百分比(预期答案是33.33%)
我用了以下方法
x = 0.3333 print(format(x,'.2%'))
相当于33.33%
但是,结果是一个字符串,我希望它仍然是一个数字(以%格式),以便能够对它执行数学运算(例如,format(x,'.2%')*2)得到66.66%
format(x,'.2%')*2
但这引发了一个异常,因为33.33%是字符串
一个想法是创建一个自定义的数据类型,我将它命名为Percent,它继承了float的所有内容,但是当你想把它作为一个字符串使用时,它会显示一个%,并将数字乘以100。在
Percent
float
%
class Percent(int): def __str__(self): return '{:.2%}'.format(self) x = Percent(0.3333) print(x) # 33.33%
如果您想以您的格式在envoirment(如jupyter notebook)中重新表示值,可以将名称为__repr__的相同方法添加到Percent类:
__repr__
一个想法是创建一个自定义的数据类型,我将它命名为
Percent
,它继承了float
的所有内容,但是当你想把它作为一个字符串使用时,它会显示一个%
,并将数字乘以100。在如果您想以您的格式在envoirment(如jupyter notebook)中重新表示值,可以将名称为
^{pr2}$__repr__
的相同方法添加到Percent类:相关问题 更多 >
编程相关推荐