Veröffentlicht 31. Juli 200322 j 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!
31. Juli 200322 j 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?
31. Juli 200322 j 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...
31. Juli 200322 j *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.
31. Juli 200322 j Autor 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?
31. Juli 200322 j int zahl = 5; DecimalFormat df = new DecimalFormat("00000"); System.out.println(df.format(zahl)); ungetestet! Gruß Jaraz
31. Juli 200322 j 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(); } } //--------------------------------------
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.