Ce face num.parse
num.parse încearcă întâi să citească textul ca întreg; dacă nu merge, îl citește ca double. Așa că num.parse('7') dă int 7, iar num.parse('7.5') dă double 7.5. Este util când nu știi dinainte ce fel de număr vine.
La text invalid, num.parse aruncă FormatException, iar num.tryParse returnează null. Regulile de format sunt cele de la int.parse și double.parse (punct zecimal, spații ignorate).
Parametri
| Parametru | Descriere |
|---|---|
input |
Textul de transformat. |
Ce returnează
parse: un num (int sau double). tryParse: un num?.
Exemple
Exemplul 1: Tipul rezultatului depinde de text
void main() {
for (var text in ['7', '7.5', '0x10', '1e3', ' -2 ', 'șapte']) {
var n = num.tryParse(text);
print('"$text" → $n (${n.runtimeType})');
}
}
Rezultat
"7" → 7 (int)
"7.5" → 7.5 (double)
"0x10" → 16 (int)
"1e3" → 1000.0 (double)
" -2 " → -2 (int)
"șapte" → null (Null)
Exemplul 2: Calculator simplu
import 'dart:io';
void main() {
var parti = (stdin.readLineSync() ?? '').split(' ');
var a = num.parse(parti[0]);
var b = num.parse(parti[2]);
var rezultat = switch (parti[1]) {
'+' => a + b,
'-' => a - b,
'*' => a * b,
'/' => a / b,
_ => throw FormatException('Operator necunoscut', parti[1]),
};
print('${parti.join(' ')} = $rezultat');
}
Ce scrie utilizatorul (intrare)
12 * 2.5
Rezultat
12 * 2.5 = 30.0
Greșeli frecvente
- Atribui rezultatul unei variabile
int:int n = num.parse(t);nu compilează. Foloseșteint.parsedacă vrei sigur un întreg.
Comenzi înrudite
int.parse: Transformă un text în număr întreg; parse aruncă FormatException la text greșit, tryParse returnează null.double.parse: Transformă un text în număr cu zecimale; parse aruncă FormatException, tryParse returnează null.num: Tipul comun pentru int și double: o variabilă num poate ține orice număr.