Python无法将带千位分隔符的字符串转换为float用于减法运算
转换失败原因
Python 内置的 float()、int() 函数解析数值字符串时,不识别作为千位分隔符的逗号,同时int()也无法识别字符串中的小数点,所以你的两种写法都会抛出ValueError。
解决方案
只需要先移除字符串中的千位分隔符逗号,再执行float转换即可,示例代码如下:
# 你抓取到的原始字符串 raw_num_str = "2,900.99" # 先替换掉所有逗号 clean_str = raw_num_str.replace(",", "") # 转换为float类型 num_float = float(clean_str) # 测试减法运算 print(num_float - 100.99) # 输出 2800.0
如果后续抓取到的数值还包含其他无关字符(比如货币符号$、¥等),也可以用同样的replace方法先清理掉无效字符后再做类型转换。
内容的提问来源于stack exchange,提问作者Python 123
相关产品推荐
相关产品推荐

