1242 Stimmen

Wie kann ich eine ganze Zahl mit Nullen auf der linken Seite auffüllen?

Wie kann man ein linkes Pad int mit Nullen bei der Umwandlung in eine String in Java?

Ich bin im Grunde suchen, um aufzufüllen Ganzzahlen bis zu 9999 mit führenden Nullen (z. B. 1 = 0001 ).

-2voto

Für Kotlin

fun Calendar.getFullDate(): String {
    val mYear = "${this.get(Calendar.YEAR)}-"
    val mMonth = if (this.get(Calendar.MONTH) + 1 < 10) {
        "0${this.get(Calendar.MONTH) + 1}-"
    } else {
        "${this.get(Calendar.MONTH)+ 1}-"
    }
    val mDate = if (this.get(Calendar.DAY_OF_MONTH)  < 10) {
        "0${this.get(Calendar.DAY_OF_MONTH)}"
    } else {
        "${this.get(Calendar.DAY_OF_MONTH)}"
    }
    return mYear + mMonth + mDate
}

und verwenden sie als

val date: String = calendar.getFullDate()

-3voto

NoShadowKick Punkte 233

Keine Pakete erforderlich:

String paddedString = i < 100 ? i < 10 ? "00" + i : "0" + i : "" + i;

Damit wird die Zeichenkette auf drei Zeichen aufgefüllt, und es ist leicht, einen weiteren Teil für vier oder fünf Zeichen hinzuzufügen. Ich weiß, dies ist nicht die perfekte Lösung in irgendeiner Weise (vor allem, wenn Sie eine große gepolsterte Zeichenfolge wollen), aber ich mag es.

-4voto

Dinesh Lomte Punkte 493

Hier ist eine weitere Möglichkeit, eine Ganzzahl mit Nullen auf der linken Seite aufzufüllen. Sie können die Anzahl der Nullen nach Belieben erhöhen. Ich habe eine Prüfung hinzugefügt, um im Falle einer negativen Zahl oder eines Wertes, der größer als oder gleich Nullen ist, den gleichen Wert zurückzugeben wie konfiguriert. Sie können weitere Änderungen nach Ihren Anforderungen vornehmen.

/**
 * 
 * @author Dinesh.Lomte
 *
 */
public class AddLeadingZerosToNum {

    /**
     * 
     * @param args
     */
    public static void main(String[] args) {

        System.out.println(getLeadingZerosToNum(0));
        System.out.println(getLeadingZerosToNum(7));
        System.out.println(getLeadingZerosToNum(13));
        System.out.println(getLeadingZerosToNum(713));
        System.out.println(getLeadingZerosToNum(7013));
        System.out.println(getLeadingZerosToNum(9999));
    }
    /**
     * 
     * @param num
     * @return
     */
    private static String getLeadingZerosToNum(int num) {
        // Initializing the string of zeros with required size
        String zeros = new String("0000");
        // Validating if num value is less then zero or if the length of number 
        // is greater then zeros configured to return the num value as is
        if (num < 0 || String.valueOf(num).length() >= zeros.length()) {
            return String.valueOf(num);
        }
        // Returning zeros in case if value is zero.
        if (num == 0) {
            return zeros;
        }
        return new StringBuilder(zeros.substring(0, zeros.length() - 
                String.valueOf(num).length())).append(
                        String.valueOf(num)).toString();
    }
}

Eingabe

0

7

13

713

7013

9999

Ausgabe

0000

0007

0013

7013

9999

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X