Hallo,
das Konvertieren von Integer Zahlen war ja kein Problem. Im Prinzip funktioniert das umwandeln in andere Zahlensysteme gleich.
Probleme habe ich aber das Konvertierne in eine Fließkommazahl.
Ich habe eine String "19.95" und möchte den als Preis in einen float umwandeln.
Jedes mal erhalte ich eine Fehlermeldung, egal ob ich den String in "19.95" oder als "19,95" zur Verfügung gestellt habe??
Ich seh den Fehler nicht. Wäre sehr nett, wenn mir jemand helfen würde.
Bei einem String mit "19.95" erhalte ich foldende Fehlermeldung
Habe ich auch versucht, aber gleiche Fehlermeldung wie mit "19.95"
Danke
das Konvertieren von Integer Zahlen war ja kein Problem. Im Prinzip funktioniert das umwandeln in andere Zahlensysteme gleich.
Probleme habe ich aber das Konvertierne in eine Fließkommazahl.
Ich habe eine String "19.95" und möchte den als Preis in einen float umwandeln.
Jedes mal erhalte ich eine Fehlermeldung, egal ob ich den String in "19.95" oder als "19,95" zur Verfügung gestellt habe??
Ich seh den Fehler nicht. Wäre sehr nett, wenn mir jemand helfen würde.
Java:
...
String zeichenkette ="kart. : EUR 19.95";
float preis = 0;
System.out.println("Bezugsbedingung vor der Verarbeitung : " + zeichenkette);
// Suchmuster für einen Preis aus Zahlen mit Punkt "19.95"
Pattern suchmuster = Pattern.compile("\\d+.\\d+");
// Wendet das Suchmuster auf den String an
Matcher matcher = suchmuster.matcher(zeichenkette);
if (matcher.find()) {
zeichenkette = matcher.group();
zeichenkette = zeichenkette.replace(".", ",");
System.out.println("Preis nach der Verarbeitung : " + zeichenkette);
preis = Float.parseFloat(zeichenkette);
}
return preis;
} // transformPreis
Bezugsbedingung vor der Verarbeitung : kart. : EUR 19.95
Preis nach der Verarbeitung : 19.95
Bei einem String mit "19.95" erhalte ich foldende Fehlermeldung
Bei einem String mit "19,95" erhalte ich foldende FehlermeldungException in thread "main" java.lang.NumberFormatException: For input string: "2,"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:580)
at java.lang.Integer.valueOf(Integer.java:766)
...
Exception in thread "main" java.lang.NumberFormatException: For input string: "19,95"
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:2043)
at sun.misc.FloatingDecimal.parseFloat(FloatingDecimal.java:122)
at java.lang.Float.parseFloat(Float.java:451)
Java:
preis = Float.valueOf(zeichenkette);
Danke
Zuletzt bearbeitet: