ホームページ >バックエンド開発 >Python チュートリアル >Python でカンマとドットを含む文字列を浮動小数点数に変換するにはどうすればよいですか?

Python でカンマとドットを含む文字列を浮動小数点数に変換するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-01 10:36:08287ブラウズ

How to Convert a String with Commas and Dots to a Float in Python?

Python でドットとカンマを含む文字列を浮動小数点数に変換する

問題

次のような文字列を変換するにはどうすればよいですか? 「123,456.908」を Python の 123456.908 のように float に変換しますか?

解決策: ローカリゼーション サービスを使用する

Python のローカリゼーション サービスを使用すると、ロケール固有の処理を行うことができます

デフォルトのロケール

デフォルトのロケールでは、地域の書式設定規則が考慮されていない「C」設定が使用されます。したがって、デフォルトでは、 atof(string):

  • コンマを小数点区切り文字として解釈します。
  • 3 桁の区切り文字は処理されません。

これを修正するには、データに一致するようにロケールを明示的に設定する必要があります。 origin.

環境からのロケールの使用

setlocale(LC_ALL, '') を使用して、ユーザーの優先ロケール設定を環境から読み取ることができます。これにより、locale.atof のようなロケール対応メソッドが千の区切り文字を正しく処理できるようになります。

ロケールを明示的に設定する

setlocale() を使用して特定のロケールを設定することもできます。 LC_NUMERIC、locale_string)。これにより、数字のみのローカライズされた書式設定と解析が有効になります。

注意事項

ロケールの設定はプログラムの動作にグローバルに影響を与える可能性があり、スレッド セーフではありません。慎重かつ慎重に行う必要があります。一般に、ロケールに依存しないデータ処理には国際化ライブラリを使用することが推奨されます。

以上がPython でカンマとドットを含む文字列を浮動小数点数に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。