Python 无法将字符串转换为浮点

Python 无法将字符串转换为浮点,python,type-conversion,Python,Type Conversion,我正在使用python 3.7 x='5,3' x= float(x.replace(',','.')) 它工作正常,但我有更大的数字 x='5,003,313' x= float(x.replace(',','.')) ---> error : could not converting string to float 如何将此类字符串转换为数字您可以使用regex子函数将逗号替换为零,然后将其转换为浮点,如下所示: import re value = '5,003,313' pars

我正在使用python 3.7

x='5,3'
x= float(x.replace(',','.'))
它工作正常,但我有更大的数字

x='5,003,313'
x= float(x.replace(',','.')) ---> error : could not converting string to float

如何将此类字符串转换为数字

您可以使用regex子函数将逗号替换为零,然后将其转换为浮点,如下所示:

import re
value = '5,003,313'
parsed_value = re.sub(r'\,', '', value)
float_value = float(parsed_value)

'5003313'
上运行
x.replace('、'、')
时,结果是
5.003.313
,这不是有效的数字格式

您可能还混淆了逗号和小数点的用法(有些国家使用逗号表示小数点),因此请务必仔细检查


如果这回答了您的问题,请选择绿色复选标记,以便快速回答,将字符串转换为数字:

str='203.65'
flt=float(str)
int=int(round(flt))

当您将逗号替换为时,使用更大的数字。最终得到两个无效点:5.003.313。你期望的浮点数是多少?5003.313?逗号应该是千位分隔符还是小数点?如果两者都是,你会有麻烦的。