Przykład

public static void main( String[] args) {
String strDouble = "1 234,58"; // 1 234,58 odpowiada wartości 1234.58 w ustawieniach narodowych ar_EG //$NON-NLS-1$
try {
System.out.println( Double.parseDouble( strDouble ) );
} catch (Exception e) {
// Wyjątek formatu liczby (NumberFormatException)
e.printStackTrace();
System.out.println(e.getMessage());
}
}
Rozwiązanie
Użyj metody
  • java.text.NumberFormat.parse (java.lang.String)

public static void main( String[] args) {
String strDouble "1 234,58"; //$NON-NLS-1$
try{
double data = java.text.NumberFormat.getNumberInstance(java.util.Locale.FRENCH).parse(strDouble).doubleValue();
System.out.println(data);
} catch (Exception e) {
System.out.println(e.toString());
}
}
Rozwiązanie
Użyj narzędzia ICU 2.6.1
  • com.ibm.icu.text.NumberFormat.parse (java.lang.String)

public static void main( String[] args) {
String strDouble = "1 234,58"; //$NON-NLS-1$
try {
double data = com.ibm.icu.text.NumberFormat.getNumberInstance(java.util.Locale.FRENCH).parse(strDouble).doubleValue();
System.out.println(data);
} catch (Exception e) {
System.out.println(e.toString());
}
}