Felder Plausibilisieren/Zahlen runden

xall

Grünschnabel
ich habe mal zwei fragen nochmal

und zwar habe ich zwei text felder in denen ein Datum rein soll. wenn man auf einen Button klickt werden diese an eine andere Klasse übergeben.Allerdings will ich das der vorher prüft ob das was eingegben ist überhaupt stimmt. ALso nicht 32.16.1999 das geht ja nicht oder auch aaaaaaaa oder 2332.1998 (punkt vergessen etc) Deshalb muss ich ja irgendwie überprüfen ob das was eingegeben ist so aussieht wie ich das haben will. Wie mache ich das? (bei Simple Date format macht er ja aus falschen Daten richtige :/ das ist ein problem

zweitens habe ich mir Prozent Zahlen ausrechnen lassen in Java sie sind als double zahlen dargestellt, allerdings sind diese natürlich 10.9399388481727461 -> ist ja doof ich will viel lieber so auf 3 stellen nachm komma runden, wie bewerkstellige ich das?

danke für die antworten
 
mhn runden hast du bestimmt wenn du mit google suchst super treffer....
gibt da sicherlich eine fertige Funktion wo du nur noch deine Werte reingibst
mir fällts leider gerade nciht ein....

eine super alternativ Lösung würde mir einfallen:

wenn nicht die Double Zahl *1000 nehmen
als int casten ( also die hinteren Stellen abschneiden)
und dann wieder durch 100 teilen^^

aber nimm doch besser die fertige implementierung ;)
die du sicher bei google findest




bei deinem anderen Problem hab ich auch nur eine nicht so tolle Lösung^^

nimm doch den String, dann splitte den am .
dann wandel die 3 String im daraus folgenden Array in int oder Double werte um

und dann kannst du einfach mit if abfragen deine überprüfungen machen z.B if (int[0]<0||int[0]>31) inkorrektesDatum();
 
Zuletzt bearbeitet:
Wenn du mir jetzt noch sagst wie ich das am . splitten kann dann würde ich das ja machen :p

aber danke schonmal
 
naja du hast dein TextField names bla
dann machste String s= bla.getText
dann Array[String] arr=s.split(".");
dann hast du deinen String am . gesplittet
 
Um zu schauen ob ein Datum korrekt ist, kannst du es parsen und dann wieder in einen String umwandeln und schauen ob es noch das gleiche ist. Die Datumsklasse korrigiert nämlich falsche Daten. Dazu benutzt du die Klasse DateFormat.

Um deine Zahl auf 3 Stellen nach dem Komma zu runden kannst du NumberFormat verwenden, sofern du danach nur noch einen String benötigst. Wenn es danach noch eine Zahl sein soll kannst du BigDecimal verwenden.
 
Zurück