나는 부동 소수점 숫자로 유럽 대륙 형식의 문자열 통화 문자열을 변환해야합니다유로화 문자열을 부동 소수점 숫자로 변환하는 방법?
입력 :
'6.150.593,22 €'
는 소수점이 쉼표 실현, 그리고 수천 구분 기호는 기간 문자입니다.
출력 :
6150593.22
내가이 질문을 읽어 싶지만, 그들은 단지 미국 달러 통화 및 로케일 작동합니다
- How do I convert a currency string to a floating point number in Python?
- python: how to convert currency to decimal?
currency_euros='6.150.593,22 €' float(currency_euros[:-2]) Traceback (most recent call last): File "", line 1, in float(currency_euros[:-2]) ValueError: could not convert string to float: '6.150.593,22'
는
>>> import locale
>>> locale.setlocale(locale.LC_NUMERIC, "es")
'es'
>>> print(locale.currency(6150593.22))
6150593,22 €
>>> money = '6.150.593,22 €'
>>> locale.atof(money)
Traceback (most recent call last):
File "<pyshell#68>", line 1, in <module>
locale.atof(money)
File "C:\Python35\lib\locale.py", line 318, in atof
return func(delocalize(string))
ValueError: could not convert string to float: '6150593.22 €'
>>>
나는 locale.currency()
잘 작동하지만 상호 방법이 작동하지 않습니다 locale.atof()
것을 ashtonished하고있다.
을 모든 점을 제거하고 쉼표로 바꿉니다. 점. non float 문자를 제거하십시오. –
'locale' 모듈을 확인하십시오. https://docs.python.org/3/library/locale.html –
예, 문자열에 대한 Eur (€) 기호를 제거하는 방법을 알고 있습니다. 그러나이 시점에서 문제는 locale.atof()가 통화 기호 문자를 지원하지 않습니다. – Trimax