如何转换₹;22000字符串在python中浮动
回溯(最近一次呼叫最后一次): 文件“scrap.py”,第13行,在 转换价格=浮动(价格[:5]) ValueError:无法将字符串转换为浮点:'₹\xa022,“您可以使用如何转换₹;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 ["-", ".
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谢谢你的更正。我不知道元字符在类中是不活跃的。