int.abs în Dart

abs() dă valoarea absolută (fără semn); sign dă −1, 0 sau 1, după semnul numărului.

Sintaxă
int abs()
int get sign

Ce face int.abs

abs() returnează numărul fără semn: (-5).abs() este 5, iar 5.abs() rămâne 5. Este util la diferențe, când nu contează cine e mai mare: (a - b).abs().

sign este o proprietate care dă -1 pentru numere negative, 0 pentru zero și 1 pentru numere pozitive. La double, sign dă -1.0, 0.0 sau 1.0.

Ce returnează

abs(): un int nenegativ. sign: -1, 0 sau 1.

Exemple

Exemplul 1: Diferența dintre două temperaturi

void main() {
  var iasi = -3;
  var constanta = 4;
  var diferenta = (iasi - constanta).abs();
  print('Diferența: $diferenta grade');
  print((-12).abs());
  print(7.abs());
}

Rezultat

Diferența: 7 grade
12
7

Exemplul 2: Semnul unui sold

void main() {
  var solduri = {'Ana': 250, 'Mihai': -40, 'Ioana': 0};
  solduri.forEach((nume, sold) {
    var stare = switch (sold.sign) {
      1 => 'are bani',
      -1 => 'datorează ${sold.abs()} lei',
      _ => 'are soldul zero',
    };
    print('$nume $stare');
  });
  print((-2.5).sign);
}

Rezultat

Ana are bani
Mihai datorează 40 lei
Ioana are soldul zero
-1.0

Greșeli frecvente

  • Scrii -5.abs() și primești -5: Dart calculează întâi 5.abs(), apoi pune minusul. Scrie (-5).abs().
  • Scrii n.sign() cu paranteze. sign este o proprietate.

Comenzi înrudite

  • int: Tipul pentru numere întregi (fără zecimale): vârste, cantități, note, indici.
  • int.clamp: clamp ține un număr între două limite; compareTo compară două numere și dă −1, 0 sau 1.
  • num: Tipul comun pentru int și double: o variabilă num poate ține orice număr.