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âi5.abs(), apoi pune minusul. Scrie(-5).abs(). - Scrii
n.sign()cu paranteze.signeste o proprietate.