python - 我收到 ValueError : could not convert string to float: '8,900'

标签 python decimal-point

我正在尝试解析包含数字的字符串,当我尝试将其转换为 float 时,它给了我一个错误:

ValueError: could not convert string to float: '8,900'

我的代码:

soup=BeautifulSoup(content,"html.parser")
element=soup.find("div",{"class":"_1vC4OE _3qQ9m1"})
price=element.text
price_without_symbol=price[1:]
print(float(price_without_symbol));

输出:

"C:\Users\SHIVAM TYAGI\PycharmProjects\price-of- chair1\venv\Scripts\python.exe" "C:/Users/SHIVAM TYAGI/PycharmProjects/price-of-chair1/src/app.py" Traceback (most recent call last): File "C:/Users/SHIVAM TYAGI/PycharmProjects/price-of-chair1/src/app.py", line 9, in print(float(price_without_symbol)); ValueError: could not convert string to float: '8,900'

最佳答案

取决于numeric convention使用时,逗号可以表示千位分隔符或小数点。

Python float numbers syntax使用点 (.) 作为小数点,并使用可选的下划线 (_) 作为千位分隔符,仅供阅读。

这意味着您需要知道您正在读取的数字使用哪种数字约定。

就您而言,您似乎正在使用美国英语数字约定来读取数字。

US-English | 4,294,967,295.00

您所需要做的就是删除充当千位分隔符的逗号。

price_without_symbol=price[1:].replace(',', '')
print(float(price_without_symbol))

关于python - 我收到 ValueError : could not convert string to float: '8,900' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54707661/

相关文章:

python - Django 迁移

python - 是否可以使用 pyodide 的 wasm 在浏览器中构建 python wheel?

python - OPENCV:Calibratecamera 2 重投影错误和自定义计算不一致

python - 统一成本解决方案中的算法问题

sql-server - mssql 显示 1 个小数点(如果可用),否则不显示

MySQL 小数列 SUM

java - java中基数(带小数位)之间的转换

java - 使用 printf 混合多种格式

Mac 上的 Python : Fink? MacPorts?内置?自制?二进制安装程序?

java - 将操作系统的自定义区域设置应用到 Java