ホームページ >Java >&#&チュートリアル >Java でカンマ小数区切り文字を使用して double を効率的に解析するにはどうすればよいですか?

Java でカンマ小数区切り文字を使用して double を効率的に解析するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-19 12:38:16817ブラウズ

How to Efficiently Parse Doubles with Comma Decimal Separators in Java?

カンマ小数点区切り文字を使用した Double の解析

Java では、デフォルトの NumberFormat を使用すると、小数点区切り文字としてカンマを使用した文字列を解析するときにエラーが発生する可能性があります。次のコードを考えてみましょう:

String p = "1,234";
Double d = Double.valueOf(p); 
System.out.println(d);

このコードは NumberFormatException をスローします。この問題を解決するには、p.replaceAll(",", ".") を使用してカンマをピリオドに置き換えるのが便利です。しかし、もっと効率的な方法はありますか?

java.text.NumberFormat を使用したより良い解析メソッド

java.text.NumberFormat クラスは、洗練されたソリューションを提供します。これにより、ロケール固有の書式設定ルールを指定して、小数点区切り文字が正しく認識されるようにすることができます。 NumberFormat の使用方法は次のとおりです。

NumberFormat format = NumberFormat.getInstance(Locale.FRANCE);
Number number = format.parse("1,234");
double d = number.doubleValue();

このコードでは、フランス語ロケール用の NumberFormat をインスタンス化します。カンマは小数点の区切り文字として使用されます。 parse() メソッドは文字列を Number オブジェクトに変換し、次に doubleValue() を使用して double に変換します。

多言語サポート

多言語アプリケーションをサポートするには、次のコード:

NumberFormat format = NumberFormat.getInstance(Locale.getDefault());

これにより、デフォルト ロケール (現在のユーザーが操作しているロケール) の NumberFormat が作成されます。システム。

以上がJava でカンマ小数区切り文字を使用して double を効率的に解析するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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