int i = int.parse('123');
有什么类似的转换bools?
bool b = bool.parse('true');
答案 0 :(得分:29)
布尔没有方法。
var val = 'True';
bool b = val.toLowerCase() == 'true';
应该很容易。
答案 1 :(得分:9)
没有。只需使用:
String boolAsString;
bool b = boolAsString == 'true';
答案 2 :(得分:5)
您无法在描述bool.parse('true')
时执行此操作,因为Dart SDK尽可能轻量级。
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
类型。
所以你不能以统一的方式做到这一点。只有你自己。
答案 3 :(得分:2)
实际上是的!
就这么简单
bool.fromEnvironment(strValue, defaultValue: defaultValue);
请记住,您可能需要做strValue.toLowerCase()
答案 4 :(得分:0)
我认为这应该很容易。
int a = b ? 1 : 0;
如果b为true,则a为1。否则,a为0。