Példa

public static void main( String[] args ){
String strFloat = "4 125,53"; //4 125,53 is 4125.53 in fr_FR //$NON-NLS-1$
try {
System.out.println( Float.parseFloat( strFloat ) );
} catch (Exception e) {
// NumberFormatException
e.printStackTrace();
System.out.println(e.getMessage());
}
}
Megoldás
Használja ezt
  • java.text.NumberFormat.parse (java.lang.String)

public static void main( String[] args ){
String strFloat = "4 125,53"; // Megjegyzés: a karaktersorozatban használt szóköz nem sima szóköz, hanem nem tördelhető szóköz. //$NON-NLS-1$
try {
float data = java.text.NumberFormat.getNumberInstance(java.util.Locale.FRENCH).parse(strFloat).floatValue();
System.out.println(data);
} catch (Exception e) {
System.out.println(e.toString());
}
}

Megoldás
Használjon ICU 2.6.1-et
  • com.ibm.icu.text.NumberFormat.parse (java.lang.String)

public static void main( String[] args ){
String strFloat = "4 125,53"; // Megjegyzés: a karaktersorozatban használt szóköz nem sima szóköz, hanem nem tördelhető szóköz. //$NON-NLS-1$

try {
float data = com.ibm.icu.text.NumberFormat.getNumberInstance(java.util.Locale.FRENCH).parse(strFloat).floatValue();
System.out.println(data);
} catch (Exception e) {
System.out.println(e.toString());
}
}