dans Dart, il existe un moyen pratique de convertir une chaîne en entier:
int i = int.parse('123');
y a-t-il quelque chose de similaire pour convertir les bools?
bool b = bool.parse('true');
Bool n'a aucune méthode.
var val = 'True';
bool b = val.toLowerCase() == 'true';
devrait être assez facile.
Non, utilisez simplement:
String boolAsString;
bool b = boolAsString == 'true';
Vous ne pouvez pas effectuer cette opération comme vous le décrivez bool.parse('true')
car Dart SDK est aussi léger que possible.
Dart SDK n'est pas aussi unifié que, par exemple, NET Framework où tous les types de système de base ont l'unification suivante.
IConvertible.ToBoolean
IConvertible.ToByte
IConvertible.ToChar
IConvertible.ToDateTime
IConvertible.ToDecimal
IConvertible.ToDouble
IConvertible.ToInt16
IConvertible.ToInt32
IConvertible.ToInt64
IConvertible.ToSByte
IConvertible.ToSingle
IConvertible.ToString
IConvertible.ToUInt16
IConvertible.ToUInt32
IConvertible.ToUInt64
Ces types ont également la méthode parse
, y compris le type Boolean
.
Vous ne pouvez donc pas le faire de manière unifiée. Seulement par toi-même.
Je pense que cela devrait être aussi simple.
int a = b ? 1 : 0;
Si b est vrai, a sera 1. Sinon, a sera 0.