Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从浮动转换为百分比_Python_Format - Fatal编程技术网

Python 从浮动转换为百分比

Python 从浮动转换为百分比,python,format,Python,Format,我想将十进制数(比如0.33333)转换成百分比(预期答案33.33%) 我使用了以下方法 x = 0.3333 print(format(x,'.2%')) 这确实是33.33% 但是,结果是一个字符串,我希望它仍然是一个数字(以%格式),以便能够对其执行数学运算(例如,格式(x,'.2%')*2给出66.66% 但这会引发一个异常,因为33.33%是字符串一个想法是创建一个自定义数据类型,我将其称为Percent,它继承了float中的所有内容,但当您想将其用作字符串时,它会显示一个%,

我想将十进制数(比如0.33333)转换成百分比(预期答案33.33%)

我使用了以下方法

x = 0.3333

print(format(x,'.2%'))
这确实是33.33%

但是,结果是一个字符串,我希望它仍然是一个数字(以%格式),以便能够对其执行数学运算(例如,
格式(x,'.2%')*2
给出66.66%


但这会引发一个异常,因为33.33%是字符串

一个想法是创建一个自定义数据类型,我将其称为
Percent
,它继承了
float
中的所有内容,但当您想将其用作字符串时,它会显示一个
%
,并将数字乘以100

class Percent(float):
    def __str__(self):
        return '{:.2%}'.format(self)
x = Percent(0.3333)
print(x)
# 33.33%
如果要以您的格式表示环境(如jupyter notebook)中的值,可以将名称为
\uuuu repr\uuu
的相同方法添加到Percent类中:

def __repr__(self):
    return '{:.2%}'.format(self)

我在一行上做的,比如:

x = 0.333
print(str(int(x*100)) + "%)
x=0.3333


打印(“{:,.2}%.”格式(x))#打印百分比格式,保留x作为浮点变量

嗯…
x*100
?当然,但我想找一个包含%的数字,就像Excel中有%的数字一样,但你仍然可以在它上执行数学运算Python不是Excel。Excel在向你显示数字时添加了这个
%
。在内部,它仍然是l将其存储为数字。不能两种方式都使用。a
%
不属于数字。好的,谢谢,我将尝试找到一种方法,在%中显示它,同时仍将其存储为数字,但OP希望它保持为数字。如果我将打印的值存储在变量中,我不能执行
百分比*2
,因为这不是一个变量n整数。