Java では、デフォルトの NumberFormat を使用すると、小数点区切り文字としてカンマを使用した文字列を解析するときにエラーが発生する可能性があります。次のコードを考えてみましょう:
String p = "1,234"; Double d = Double.valueOf(p); System.out.println(d);
このコードは NumberFormatException をスローします。この問題を解決するには、p.replaceAll(",", ".") を使用してカンマをピリオドに置き換えるのが便利です。しかし、もっと効率的な方法はありますか?
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 サイトの他の関連記事を参照してください。