Hallo,
ich sitze jetzt schon seit einiger Zeit an folgender Methode, welche einen String in einen Integer Wert umwandelt. Ich weiss, dass der hier gezeigte nicht der beste Weg ist, jedoch geht es um was anderes.
Die Werte, die diese Methode umwandeln soll, beginnen häufig mit einem $ Zeichen. In der If-Verzweigung soll dieses Zeichen gelöscht und die Methode mit dem neuen Wert wieder aufgerufen werden. Das funktioniert soweit auch, jedoch gibt die Methode bei return nichts zurück und springt stattdessen auf die Zeile 11, "String replace = s.replace(",", ".");", und zwar mit dem ursprünglichen Wert, in dem das $ Zeichen noch vorhanden ist. Warum?
Diese Methode befindet sich zurzeit in einer Klasse mit der main Methode, es gibt also keine weiteren Einflüsse.
Schon mal vorab Danke für die Mühe.
Schwarz1603
ich sitze jetzt schon seit einiger Zeit an folgender Methode, welche einen String in einen Integer Wert umwandelt. Ich weiss, dass der hier gezeigte nicht der beste Weg ist, jedoch geht es um was anderes.
Die Werte, die diese Methode umwandeln soll, beginnen häufig mit einem $ Zeichen. In der If-Verzweigung soll dieses Zeichen gelöscht und die Methode mit dem neuen Wert wieder aufgerufen werden. Das funktioniert soweit auch, jedoch gibt die Methode bei return nichts zurück und springt stattdessen auf die Zeile 11, "String replace = s.replace(",", ".");", und zwar mit dem ursprünglichen Wert, in dem das $ Zeichen noch vorhanden ist. Warum?
Java:
public static int parseStringtoIntCent(String s) throws Exception {
try {
if (s.contains("$")) {
String newstr = s.replace("$", "");
parseStringtoIntCent(newstr);
} else {
}
String replace = s.replace(",", ".");
float cent = Float.parseFloat(replace) * 100;
return (int) cent;
} catch (NumberFormatException e) {
throw new Exception("Fehler: Ungültiger Wert eingegeben! " + e.toString());
}
Diese Methode befindet sich zurzeit in einer Klasse mit der main Methode, es gibt also keine weiteren Einflüsse.
Schon mal vorab Danke für die Mühe.
Schwarz1603