Hi,
ersteinmal will ich mich für eure Antworten im Vorfeld bedanken. Nun zu meinem "Problem", welches eigentlich keines sein sollte
Ich habe eine Variable, nennen wir sie "Zahl", diese ist vom Typ String und enthält z.B. "45600,01"
Ich möchte diese Zahl in einem Textfeld abbilden, welches keine Nachkommastellen erlaubt. Soweit so gut, mit substring und indexOf(',') hätte ich die 45600 und alles würde funktionieren, ALLERDINGS ist die Vorgabe, dass wenn die nachkommastellen irgendwie vorhanden sind (egal wie klein, aber es gibt max nur 2 Nachkommastellen), sprich "x,01" ; "x,02;" usw dann soll aufgerundet werden. In dem obigen Beispiel sollte also "456001" rauskommen.
Ich habe es so probiert:
Was wollte ich theoretisch machen?
- Schauen, ob der in integer umgewandelte String ab dem ","(also die 01 in dem Falle) ein Wert > 0 ist
- Wenn dem so ist, dann nehme den Integer-Wert von der Stelle 0 bis zum "," (Also 45600) und addiere 1 hinzu
Ich weiß, dass es einfacher wäre es direkt als Integer zu machen, allerdings bekomme ich die Zahl als String und muss sie nach verarbeitung auch als String wieder zurückgeben.
Ich hoffe ich habe mein Anliegen verständlich beschrieben und ggf. hat ja jemand eine Idee was falsch läuft, wie ich es einfacher/kürzer machen kann.
ersteinmal will ich mich für eure Antworten im Vorfeld bedanken. Nun zu meinem "Problem", welches eigentlich keines sein sollte
Ich habe eine Variable, nennen wir sie "Zahl", diese ist vom Typ String und enthält z.B. "45600,01"
Ich möchte diese Zahl in einem Textfeld abbilden, welches keine Nachkommastellen erlaubt. Soweit so gut, mit substring und indexOf(',') hätte ich die 45600 und alles würde funktionieren, ALLERDINGS ist die Vorgabe, dass wenn die nachkommastellen irgendwie vorhanden sind (egal wie klein, aber es gibt max nur 2 Nachkommastellen), sprich "x,01" ; "x,02;" usw dann soll aufgerundet werden. In dem obigen Beispiel sollte also "456001" rauskommen.
Ich habe es so probiert:
Java:
String Zahl = new String("45600,01");
if(Integer.getInteger(Zahl.substring(Zahl.indexOf(',')+1))>0){
Zahl = String.valueOf((Integer.getInteger(Zahl.substring(0, Zahl.indexOf(',')))+1));
}
Was wollte ich theoretisch machen?
- Schauen, ob der in integer umgewandelte String ab dem ","(also die 01 in dem Falle) ein Wert > 0 ist
- Wenn dem so ist, dann nehme den Integer-Wert von der Stelle 0 bis zum "," (Also 45600) und addiere 1 hinzu
Ich weiß, dass es einfacher wäre es direkt als Integer zu machen, allerdings bekomme ich die Zahl als String und muss sie nach verarbeitung auch als String wieder zurückgeben.
Ich hoffe ich habe mein Anliegen verständlich beschrieben und ggf. hat ja jemand eine Idee was falsch läuft, wie ich es einfacher/kürzer machen kann.
Zuletzt bearbeitet: