PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Typumwandlung in Java


Matrix316
2003-01-13, 17:09:41
Also ich hab einen String und will daraus einen Double Wert machen. Bis jetzt hab ich mal ein Testprog gemacht was auch so funktioniert:


public class Casttest
{
public static void main (String args[])
{
String wertRZ1 = "12345";
System.out.println(wertRZ1);
int WertRZ1 = Integer.parseInt(wertRZ1.toString());
double RZ1 = (double) WertRZ1;
System.out.println(RZ1);
}
}

Wenn ich aber anstatt 12345 123.5 oder sowas mache, gibts einen Quasicrash. Kann man das irgendwie abfangen wenn ein Punkt, Komma oder Leerzeichen in der Zeichenkette steht?

ethrandil
2003-01-13, 17:56:55
was meinst du mit wuasicrash?
Wird eine Exception geschmissen? Wenn ja müsstest du den crash so verhindern können:
public static void main (String args[])
{
String wertRZ1 = "12345";
System.out.println(wertRZ1);
try{
int WertRZ1 = Integer.parseInt(wertRZ1.toString());
} catch(Exception e){
Fehlerbehandlung.....
}
double RZ1 = (double) WertRZ1;
System.out.println(RZ1);
}

Ansonsten müsstest du auch dies nehmen können: (Wenn nur der Punkt eine Fehlerquelle ist)
public static void main (String args[])
{
String wertRZ1 = "12345";
System.out.println(wertRZ1);
int WertRZ1 = (int)Float.parseFloat(wertRZ1.toString());
double RZ1 = (double) WertRZ1;
System.out.println(RZ1);
}


mfg Eth

Elemental
2003-01-13, 17:57:06
public class Casttest
{
public static void main (String args[])
{
String wertRZ1 = "12345";
System.out.println(wertRZ1);
int WertRZ1 = Integer.parseInt(wertRZ1.toString()); //wieso machst du hier toString? wertZ1 is doch ein String???
double RZ1 = (double) WertRZ1;
System.out.println(RZ1);
}
}


Übrigens, wenn du zuerst in "int" wandelst, dann gehen dir die Nachkommastellen flöten.

mfG
Elemental

ethrandil
2003-01-13, 18:00:32
Originally posted by Elemental

public class Casttest
{
public static void main (String args[])
{
String wertRZ1 = "12345";
System.out.println(wertRZ1);
int WertRZ1 = Integer.parseInt(wertRZ1.toString()); //wieso machst du hier toString? wertZ1 is doch ein String???
double RZ1 = (double) WertRZ1;
System.out.println(RZ1);
}
}


Übrigens, wenn du zuerst in "int" wandelst, dann gehen dir die Nachkommastellen flöten.

mfG
Elemental
Oops,... jetzt seh ich den Sinn des Codes :D
mach es doch so:

public class Casttest
{
public static void main (String args[])
{
String wertRZ1 = "1234.5";
System.out.println(wertRZ1);
double RZ1 = Double.parseDouble(wertRZ1);
System.out.println(RZ1);
}
}

Matrix316
2003-01-13, 19:57:37
Danke an alle. Das hat mir schon geholfen. :)

ethrandil
2003-01-13, 20:01:49
machen wir doch gerne :)