ホームページ > Java > &#&チュートリアル > Java でカンマを小数点として使用して double を確実に解析する方法

Java でカンマを小数点として使用して double を確実に解析する方法

Susan Sarandon
リリース: 2024-12-08 11:30:13
オリジナル
448 人が閲覧しました

How to Robustly Parse Doubles with Comma as Decimal Separator in Java?

小数点区切り文字としてカンマを使用した Double の解析: 包括的なソリューション

小数点区切り文字としてカンマ (,) を使用するデータを扱う場合、 Double.valueOf() を使用して double に解析すると、NumberFormatException が発生する可能性があります。これは、Double.valueOf() が小数点としてピリオド (.) を想定しているためです。

1 つの解決策は、質問に示されているように、String.replaceAll() を使用してコンマをピリオドに置き換えることです。ただし、java.text.NumberFormat を使用した、より堅牢でロケールを意識したアプローチがあります。

ロケール固有の解析に NumberFormat を利用する

NumberFormat には、解析および解析するためのメソッドが用意されています。指定されたロケールに従って数値をフォーマットします。小数点としてカンマを使用して文字列を解析するには、次の手順を実行します。

  1. NumberFormat.getInstance(Locale.FRANCE) または NumberFormat.getInstance(Locale.getDefault()) を使用して NumberFormat インスタンスを作成します。多言語アプリをサポートするには。
  2. format.parse(String) を呼び出して、文字列を解析して Number オブジェクトに変換します。
  3. number.doubleValue() を使用して Number オブジェクトを double に変換します。

このアプローチを示すコードは次のとおりです。

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

System.out.println(d); // Prints 1.234
ログイン後にコピー

NumberFormat を使用すると、カンマを小数点として使用した double 値をロケール固有の方法で解析でき、次のような場合でも正確な結果を保証できます。グローバル化されたアプリケーション。

以上がJava でカンマを小数点として使用して double を確実に解析する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート