не удалось преобразовать строку в число с плавающей точкой - PullRequest
0 голосов
/ 29 апреля 2020

Я работаю с 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

как я могу преобразовать такую ​​строку в число

Ответы [ 3 ]

0 голосов
/ 29 апреля 2020

Когда вы запускаете x.replace(',','.') на '5,003,313', результатом будет 5.003.313, который не является допустимым числовым форматом.

Возможно, вы также путаете использование запятой и десятичной точки (некоторые страны используют запятую для десятичного знака), поэтому обязательно внимательно изучите ее.

Если вы ответили на ваш вопрос, выберите зеленую галочку

0 голосов
/ 29 апреля 2020

Итак, быстрый ответ, чтобы преобразовать строку в число:

str='203.65'
flt=float(str)
int=int(round(flt))
0 голосов
/ 29 апреля 2020

Вы можете использовать подфункцию regex, чтобы заменить запятую на ничто, а затем преобразовать ее в float, например:

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