Réponses:
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:
int val = int.tryParse(text) ?? defaultValue;
Selon fléchette 2.6
Le onError
paramètre facultatif de int.parse
est obsolète . Par conséquent, vous devriez utiliser à la int.tryParse
place.
Remarque : la même chose s'applique à double.parse
. Par conséquent, utilisez à la double.tryParse
place.
/**
* ...
*
* The [onError] parameter is deprecated and will be removed.
* Instead of `int.parse(string, onError: (string) => ...)`,
* you should use `int.tryParse(string) ?? (...)`.
*
* ...
*/
external static int parse(String source, {int radix, @deprecated int onError(String source)});
La différence est que int.tryParse
renvoie null
si la chaîne source n'est pas valide.
/**
* Parse [source] as a, possibly signed, integer literal and return its value.
*
* Like [parse] except that this function returns `null` where a
* similar call to [parse] would throw a [FormatException],
* and the [source] must still not be `null`.
*/
external static int tryParse(String source, {int radix});
Donc, dans votre cas, cela devrait ressembler à:
// Valid source value
int parsedValue1 = int.tryParse('12345');
print(parsedValue1); // 12345
// Error handling
int parsedValue2 = int.tryParse('');
if (parsedValue2 == null) {
print(parsedValue2); // null
//
// handle the error here ...
//
}
void main(){
var x = "4";
int number = int.parse(x);//STRING to INT
var y = "4.6";
double doubleNum = double.parse(y);//STRING to DOUBLE
var z = 55;
String myStr = z.toString();//INT to STRING
}
int.parse () et double.parse () peuvent générer une erreur lorsqu'il n'a pas pu analyser la chaîne
int.parse()
et double.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 ;