num.parse în Dart

Numere (int, double, num, BigInt) Dart 1.0 (tryParse: Dart 2.0)

Transformă un text în int sau double, după cum arată textul; tryParse returnează null la text greșit.

Sintaxă
static num parse(String input)
static num? tryParse(String input)

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ște int.parse dacă 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.