dartには、Stringをintに変換する便利な方法があります。
int i = int.parse('123');
ブール値を変換するための同様のものはありますか?
bool b = bool.parse('true');
Boolにはメソッドがありません。
var val = 'True';
bool b = val.toLowerCase() == 'true';
十分簡単なはずです。
いいえ。単に以下を使用します。
String boolAsString;
bool b = boolAsString == 'true';
Dart SDKは可能な限り軽量であるため、bool.parse('true')
を記述しているとおりにこの操作を実行することはできません。
Dart SDKは、たとえば、すべての基本的なシステムタイプが次のように統一されているNET Frameworkほど統一されていません。
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
また、これらのタイプには、parse
タイプを含むBoolean
メソッドがあります。
したがって、これを統一された方法で行うことはできません。自分だけで。
それはこれで簡単だと思います。
int a = b ? 1 : 0;
Bがtrueの場合、aは1になります。それ以外の場合、aは0になります。