如何转换₹;22000字符串在python中浮动

如何转换₹;22000字符串在python中浮动,python,Python,回溯(最近一次呼叫最后一次): 文件“scrap.py”,第13行,在 转换价格=浮动(价格[:5]) ValueError:无法将字符串转换为浮点:'₹\xa022,“您可以使用 dirty = "₹22000.83" try: cleaned = float("".join(char for char in dirty if char in ["-", ".

回溯(最近一次呼叫最后一次): 文件“scrap.py”,第13行,在 转换价格=浮动(价格[:5]) ValueError:无法将字符串转换为浮点:'₹\xa022,“

您可以使用

dirty = "₹22000.83"

try:
    cleaned = float("".join(char for char in dirty if
                            char in ["-", "."] or char.isdigit()))
    print(cleaned)
except ValueError:
    pass
产生

22000.83
你可以用

dirty = "₹22000.83"

try:
    cleaned = float("".join(char for char in dirty if
                            char in ["-", "."] or char.isdigit()))
    print(cleaned)
except ValueError:
    pass
产生

22000.83
尝试:

尝试:


您必须过滤掉所有不属于浮点数的字符,因为该函数只允许某些字符

您可以使用查找浮点数中允许的所有字符。例如,要查找所有数字、减号、加号和点,请执行以下操作:

float_regex = re.compile(r'[-.+\d]+')
在输入字符串中查找所有这些字符并将它们连接在一起:

clean_input = ''.join(float_regex.findall(input_string))
然后才转换成浮点

例如:

>>> import re
>>> float_regex = re.compile(r'[-.+\d]+')
>>> input_string = '₹\xa022,'
>>> clean_input = ''.join(float_regex.findall(input_string))
>>> float(clean_input)
22.0

您必须过滤掉所有不属于浮点数的字符,因为该函数只允许某些字符

您可以使用查找浮点数中允许的所有字符。例如,要查找所有数字、减号、加号和点,请执行以下操作:

float_regex = re.compile(r'[-.+\d]+')
在输入字符串中查找所有这些字符并将它们连接在一起:

clean_input = ''.join(float_regex.findall(input_string))
然后才转换成浮点

例如:

>>> import re
>>> float_regex = re.compile(r'[-.+\d]+')
>>> input_string = '₹\xa022,'
>>> clean_input = ''.join(float_regex.findall(input_string))
>>> float(clean_input)
22.0

这是某种货币符号吗?是的,印度货币。卢比字符(
\xa0
)后面似乎还有一个不间断的空格。这是某种货币符号吗?是的,印度货币。卢比字符(
\xa0
)后面似乎也有一个不间断的空格。谢谢,它可以工作,但是有没有什么方法可以省略不间断空间?输出已转换。\u price=float(price[1:])value错误:无法将字符串转换为float:'\xa022280.00'抱歉,无法理解您的问题。你说的不间断空间是什么意思?您期望的输出是什么?谢谢,它是有效的,但是有没有什么方法可以省略不间断的空格?输出已转换。\u price=float(price[1:])value错误:无法将字符串转换为float:'\xa022280.00'抱歉,无法理解您的问题。你说的不间断空间是什么意思?你的预期产出是多少?@Jan谢谢你的更正。我不知道元字符在类中不活动。@Jan谢谢你的更正。我不知道元字符在类中是不活跃的。