首頁 > Java > java教程 > 如何在 Java 中穩健地解析以逗號作為小數分隔符號的雙精度數?

如何在 Java 中穩健地解析以逗號作為小數分隔符號的雙精度數?

Susan Sarandon
發布: 2024-12-08 11:30:13
原創
467 人瀏覽過

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

用逗號當小數分隔符號解析Double:綜合解

處理使用逗號號(,) 作為小數分隔符號的資料時,逗號使用Double.valueOf() 將其解析為雙精度數可能會導致NumberFormatException。這是因為 Double.valueOf() 需要一個句點 (.) 作為小數點分隔符號。

一種解決方案是使用 String.replaceAll() 將逗號替換為句點,如問題所示。然而,有一種更強大和區域設定感知的方法,使用 java.text.NumberFormat。

利用 NumberFormat 進行特定於區域設定的解析

NumberFormat 提供了解析和根據指定的區域設定格式化數字。若要解析以逗號為小數點分隔符號的字串,請使用下列步驟:

  1. 使用NumberFormat.getInstance(Locale.FRANCE) 或NumberFormat.getInstance(Locale.getDefault()) 建立NumberFormat 實例支援多語言應用。
  2. 呼叫 format.parse(String) 將字串解析為 Number object.
  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 ,您可以以特定於語言環境的方式解析以逗號作為小數分隔符號的雙精確度值,即使在全球化應用程式中也能確保準確的結果。

以上是如何在 Java 中穩健地解析以逗號作為小數分隔符號的雙精度數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板