PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : String nach Integer konvertieren


Glen
21.06.2006, 15:31
Hallo zusammen,
ich habe mal wieder ein kleines Problemchen.
Mit diesem Code versuche ich einen String in Integer zu konvertieren:

<% int i = Integer.parseInt(""+preis+""); %>

Das geht so leider nicht.
Als Fehlermeldung bekomme ich:
Fehler: java.lang.NumberFormatException: For input string: "44.80"For input string: "44.80"

Wieso das? Kann mir jemand auf die Sprünge helfen?

Danke + Gruß
Glen


DarkTom
21.06.2006, 15:59
Ganz einfach: 44,80 ist keine ganze Zahl, kann also nicht durch int dargestellt werden.

Glen
21.06.2006, 16:05
Ganz einfach: 44,80 ist keine ganze Zahl, kann also nicht durch int dargestellt werden.
Ah so. Wie kann ich dann mit dieser Zahl weiterrechnen? Das ist doch möglich oder? In welchen Variablentyp sollte ich den String denn sonst umwandeln?

z3r0x
21.06.2006, 16:11
http://de.selfhtml.org/navigation/suche/index.htm?Suchanfrage=parsefloat

Glen
21.06.2006, 16:15
http://de.selfhtml.org/navigation/suche/index.htm?Suchanfrage=parsefloat
Danke für den Link. Werd ich mir gleich mal anschauen.

MrEasy
21.06.2006, 19:03
vergiß den Link, das hat ja mit Java null zu tun
Du benutzt einfach den Typ Float oder wenn's genauer sein soll Double
also:
float f = Float.parseFloat(preis);

Der korrekte Doku-Link hierfür ist http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Float.html#parseFloat(java.lang.String)

Nebenbei: Was soll das ""+preis+""? Das sieht sehr unnötig aus

Glen
22.06.2006, 10:48
Nebenbei: Was soll das ""+preis+""? Das sieht sehr unnötig aus
"preis" hole ich aus einer Datenbank um dann damit weiterzurechnen.

Liar
22.06.2006, 10:57
und was soll das "" + "" ?
kannst du des net direkt aus der datenbankk auslesen?

Glen
22.06.2006, 12:42
[QUOTE=MrEasy]vergiß den Link, das hat ja mit Java null zu tun
Du benutzt einfach den Typ Float oder wenn's genauer sein soll Double
also:
float f = Float.parseFloat(preis);
Ok jetzt hab ichs. Nur noch eine Frage.
Es wird nur eine Stelle hinter dem Komma angezeigt. Kann ich nicht auch zwei anzeigen lassen?

DarkTom
22.06.2006, 16:38
Benutze für die Formatierung der Anzeige das java.text.DecimalFormat.

Wenn ich das richtig im Kopf habe:DecimalFormat formatter = new DecimalFormat("0.00");
String s = formatter.format(dieDoubleVariable);

Glen
23.06.2006, 10:39
Wenn ich das richtig im Kopf habe:DecimalFormat formatter = new DecimalFormat("0.00");
String s = formatter.format(dieDoubleVariable);
Perfekt! Danke