>백엔드 개발 >파이썬 튜토리얼 >Python에서 점과 쉼표가 있는 문자열을 천 단위 및 소수 구분 기호로 부동 소수점으로 변환하려면 어떻게 해야 합니까?

Python에서 점과 쉼표가 있는 문자열을 천 단위 및 소수 구분 기호로 부동 소수점으로 변환하려면 어떻게 해야 합니까?

Linda Hamilton
Linda Hamilton원래의
2024-11-26 04:55:14193검색

How Can I Convert Strings with Dots and Commas as Thousands and Decimal Separators to Floats in Python?

Python에서 점과 쉼표가 있는 문자열을 부동 소수점으로 변환

소개

종종 숫자가 점으로 표시되는 형식으로 데이터를 접할 수 있습니다. (.)는 천 단위 구분 기호로, 쉼표(,)는 소수점으로 표시됩니다. 이러한 데이터에 대해 수학적 연산을 수행하려면 부동 소수점 형식으로 변환해야 합니다. 이 문서에서는 Python에서 이러한 변환을 수행하는 방법에 대해 설명합니다.

현지화 서비스 사용

기본 로캘

Python의 로캘 모듈은 플랫폼별 현지화 설정에 액세스하기 위한 인터페이스를 제공합니다. 기본적으로 Python은 점이 천 단위 구분 기호로 인식되지 않는 "C" 로케일을 가정합니다. Python이 점을 구분 기호로 인식하도록 하려면 사용자가 선호하는 설정과 일치하도록 로케일을 설정하십시오.

import locale
locale.setlocale(locale.LC_ALL, '')

이 호출은 Python에 사용자가 선호하는 로케일 설정을 사용하도록 지시하며 일반적으로 점을 천 단위 구분 기호로 인식합니다. 이제 locale.atof를 사용하여 문자열을 부동 소수점으로 변환할 수 있습니다.

locale.atof('123,456.789')

특정 로케일 사용

사용자가 선호하는 설정을 사용하는 대신 특정 로케일을 지정하여 사용. 예를 들어 마침표가 천 단위 구분 기호로 사용되고 쉼표가 소수점으로 사용되는 덴마크어 로캘을 사용하려면 다음을 사용하세요.

locale.setlocale(locale.LC_NUMERIC, 'en_DK.UTF-8')

주의 사항

로캘 설정을 수정하면 부작용이 발생할 수 있습니다. 스레드로부터 안전하지 않습니다. 스레드 환경에서 사용될 수 있는 함수나 라이브러리 내에서 로케일을 설정하지 마십시오. 또한 확장 모듈(C 모듈)은 예상치 못한 동작을 방지하기 위해 setlocale을 호출해서는 안 됩니다.

결론

현지화 서비스를 활용하여 Python은 점과 쉼표가 있는 문자열을 부동 소수점으로 변환할 수 있으므로 원활한 변환이 가능합니다. 현지화된 숫자 데이터. 하지만 위에서 언급한 주의사항을 고려하고 현지화 서비스를 적절하게 사용하는 것이 중요합니다.

위 내용은 Python에서 점과 쉼표가 있는 문자열을 천 단위 및 소수 구분 기호로 부동 소수점으로 변환하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.