String.padLeft în Dart

Completează textul în stânga (padLeft) sau în dreapta (padRight) până ajunge la o lungime dată.

Sintaxă
String padLeft(int width, [String padding = ' '])
String padRight(int width, [String padding = ' '])

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 padLeft direct pe un int: 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. padLeft doar adaugă; pentru tăiere folosește substring.

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.