Ce face String.padLeft
padLeft(lungime, umplutura) adaugă umplutura în fața textului până când acesta are lungimea cerută. Cel mai des se folosește pentru zerouri în față: '7'.padLeft(2, '0') este '07'. padRight adaugă la final, util pentru coloane aliniate.
Umplutura implicită este un spațiu. Dacă textul este deja la fel de lung sau mai lung, rămâne neschimbat; nu este tăiat. Umplutura poate avea mai multe caractere, dar se adaugă de un număr întreg de ori, deci rezultatul poate depăși lungimea cerută.
Pentru numere, apelează întâi toString(): ora.toString().padLeft(2, '0').
Parametri
| Parametru | Descriere |
|---|---|
width |
Lungimea dorită. |
padding |
Textul de umplutură, implicit un spațiu. |
Ce returnează
Un String nou.
Exemple
Exemplul 1: Ore și date cu zerouri în față
String doua(int n) => n.toString().padLeft(2, '0');
void main() {
var ora = 9, minut = 5;
print('${doua(ora)}:${doua(minut)}');
print('${doua(3)}.${doua(7)}.2026');
print('42'.padLeft(6, '0'));
print('123456'.padLeft(3, '0'));
}
Rezultat
09:05
03.07.2026
000042
123456
Exemplul 2: Un tabel aliniat
Numele sunt aliniate la stânga cu padRight, iar sumele la dreapta cu padLeft.
void main() {
var cheltuieli = {'Chirie': 1500, 'Mâncare': 820, 'Transport': 95, 'Internet': 50};
print('${'Categorie'.padRight(12)}${'Lei'.padLeft(6)}');
print('-' * 18);
var total = 0;
cheltuieli.forEach((nume, suma) {
total += suma;
print('${nume.padRight(12, '.')}${suma.toString().padLeft(6)}');
});
print('${'TOTAL'.padRight(12)}${total.toString().padLeft(6)}');
}
Rezultat
Categorie Lei
------------------
Chirie...... 1500
Mâncare..... 820
Transport... 95
Internet.... 50
TOTAL 2465
Greșeli frecvente
- Apelezi
padLeftdirect pe unint:5.padLeft(2, '0')nu compilează. Transformă numărul în text întâi. - Te aștepți ca un text prea lung să fie tăiat.
padLeftdoar adaugă; pentru tăiere foloseștesubstring.
Comenzi înrudite
String: Tipul pentru text în Dart: un șir de caractere care nu se mai poate modifica după creare.int.toString: toString() transformă numărul în text; toStringAsFixed(n) îl scrie cu exact n zecimale.String.substring: substring extrage o bucată din text între două poziții; operatorul [] dă caracterul de la o poziție.