Krain Geschrieben 31. Juli 2003 Geschrieben 31. Juli 2003 Hallo zusammen, Gibt es eine Möglichkeit in Java eine Zahl mit Nullen aufzufüllen, Ich möchte es in der Art: public String getNullVorne(int zahl<bsp. 12>, int length<bsp. 5>) und zurück bekäme ich dann 00012: Gibts das schon unter Java oder muss ich mir das erst programmieren? Es wäre ja nicht schwer zu programmieren, aber ich es nicht doppelt machen, wenn java das schon kann! Zitieren
Morbid_Soul Geschrieben 31. Juli 2003 Geschrieben 31. Juli 2003 Moin, kann man das selbst programmieren? Nicht schlecht, dachte das geht nicht. Das Problem hatte ich auch mal, das int's und so keine führenden Nullen akzeptieren. Mir würde nur einfallen, das ganze per String zu erledigen. Dann kann man das ja aber nicht mehr auf int casten, da die aktion ansonsten ja ziemlich sinnlos wäre. Was möchtest du denn machen? Zitieren
Gast roaxius Geschrieben 31. Juli 2003 Geschrieben 31. Juli 2003 Original geschrieben von Krain public String getNullVorne(int zahl<bsp. 12>, int length<bsp. 5>) und zurück bekäme ich dann 00012: Ich denke schon, dass man das selbst programmieren kann. Denn er will das ja wohl mit Strings machen. Mit int geht das IMHO wirklich nicht, da die führenden Nullen nicht bei int zu setzen sind. Wenn ich aber seine Methode interpretiere will er wohl eine String-Methode schreiben, der man eine int-Zahl übergibt und die Länge, die die Zahl insgesamt erhalten soll. Ich würde die Methode dann nicht getNullVorne, sondern eher setNullVorne() nennen Und in der Methode macht man dann sowas wie: public class MainMenu { public static String setNullVorne(int zahl, int laenge) { String tmp = Integer.toString(zahl); int leng = tmp.length(); if (leng < laenge) { for( ; leng < laenge; leng++) { tmp = "0" + tmp; } } return tmp; } public static void main(String[] args) { System.out.println(setNullVorne(12, 5)); } } Das geht bestimmt schöner Aber nur mal so als Idee... Zitieren
Morbid_Soul Geschrieben 31. Juli 2003 Geschrieben 31. Juli 2003 *KLATSCH* return Wert = String Wer lesen kann ist klar im Vorteil, hätte ich eigentlich sehen müssen... naja, sorry. An so eine Lösung hätte ich nämlich auch gedacht. Zitieren
Krain Geschrieben 31. Juli 2003 Autor Geschrieben 31. Juli 2003 Ja schon - die Methode hab ich schon lange so Mich würde aber interessieren, ob man das nicht irgentwie über NumberFormatter oder sowas erledigen kann? Zitieren
Jaraz Geschrieben 31. Juli 2003 Geschrieben 31. Juli 2003 int zahl = 5; DecimalFormat df = new DecimalFormat("00000"); System.out.println(df.format(zahl)); ungetestet! Gruß Jaraz Zitieren
Morbid_Soul Geschrieben 31. Juli 2003 Geschrieben 31. Juli 2003 yo, das geht..... //-------------------------------------- import java.text.*; public class Test { Test() { int zahl = 5; DecimalFormat df = new DecimalFormat("00000"); System.out.println(df.format(zahl)); } public static void main(String[] args) { Test test = new Test(); } } //-------------------------------------- Zitieren
Krain Geschrieben 31. Juli 2003 Autor Geschrieben 31. Juli 2003 Danke - genau das wollte ich wissen. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.