web-dev-qa-db-fra.com

Comment analyser une chaîne en un nombre avec Dart?

Je voudrais analyser des chaînes comme "1" ou "32.23" en nombres entiers et doubles. Comment puis-je faire cela avec Dart?

57
Seth Ladd

Vous pouvez analyser une chaîne en un entier avec int.parse(). Par exemple:

var myInt = int.parse('12345');
assert(myInt is int);
print(myInt); // 12345

Notez que int.parse() accepte les chaînes préfixées 0x. Sinon, l'entrée est traitée comme base-10.

Vous pouvez analyser une chaîne en double avec double.parse(). Par exemple:

var myDouble = double.parse('123.45');
assert(myDouble is double);
print(myDouble); // 123.45

parse() lèvera FormatException s'il ne peut pas analyser l'entrée.

98
Seth Ladd

Dans Dart 2 int.tryParse est disponible.

Il renvoie null pour les entrées non valides au lieu de lancer. Vous pouvez l'utiliser comme ceci:

int val = int.tryParse(text) ?? defaultValue;
51
kgiannakakis