Je voudrais analyser des chaînes comme "1" ou "32.23" en entiers et doubles. Comment puis-je faire cela avec Dart?
105
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 0x
chaînes préfixées. Sinon, l'entrée est traitée comme base-10.
Vous pouvez analyser une chaîne en un 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.
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:
la source
Selon fléchette 2.6
Le
onError
paramètre facultatif deint.parse
est obsolète . Par conséquent, vous devriez utiliser à laint.tryParse
place.Remarque : la même chose s'applique à
double.parse
. Par conséquent, utilisez à ladouble.tryParse
place.La différence est que
int.tryParse
renvoienull
si la chaîne source n'est pas valide.Donc, dans votre cas, cela devrait ressembler à:
la source
la source
int.parse()
etdouble.parse()
peut générer une erreur lorsqu'il n'a pas pu analyser la chaîne. Veuillez préciser votre réponse afin que les autres puissent mieux apprendre et comprendre les fléchettes.vous pouvez analyser la chaîne avec
int.parse('your string value');
.Exemple:-
int num = int.parse('110011'); print(num); \\ prints 110011 ;
la source