Supportnet Computer
Planet of Tech

Supportnet / Forum / Anwendungen(Java,C++...)

[Java]Führende Nullen bei Inkrementierung hinzufügen





Frage

Hallo, ich hab in Java eine Inkrementierung, im Prinzip ist es int i=0; i++; dabei wird natürlich als, 1,2,3,4,5,6,7,8,9,10,11... hochgezählt, ich hätte das ganze jetzt gerne als 0001, 0002, 0003 ... 0010, 0011 usw... Ich denke das dass als Format geregelt werden muss, weiss aber nicht wie ;) Danke schonmal Marcellinio

Antwort 1 von Rangoo

´n Abend!

Wenn du einen String auf eine bestimmte Länge kriegen willst, indem du vorne ausreichend "0" anhängst, tut es eine statische Methode:

  /**
   * format gibt einen String zurueck, der die in len gewuenschte Laenge hat.
   * Dabei wird der String von vorne mit dem gewuenschten Character gefuellt.
   * Ist der String bereits laenger als in len angegeben, wird er nicht gekuerzt. 
   *  
   * @param arg0 String, der verlaengert werden soll 
   * @param arg1 char, der zum Fuellen verwendet wird
   * @param len  gewuenschte Laenge des Strings 
   * @return der verlaengerte String 
   */
  
  public static String format(String arg0, char arg1, int len)  {
    int arglen = arg0.length();
    for (int i=0; i < len-arglen; i++) 
      arg0 = arg1 + arg0;
    return arg0;
  }


Antwort 2 von Ohohoh...

" arg0 = arg1 + arg0; " -> Das ist ganz böse...
Das Konkatinieren mit + ist SEHR langsam
Besser ist:

len ermitteln wir oben
switch anweisung
und string manuell erstellen mit "000" oder "00" oder "0" je nach Stellen der Zahl. Das ganz mit Stringbuffer und append()

Das ist deutlich schneller :)

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: