В Dart, есть ли `parse` для` bool`, как есть для `int`? в Dart, есть удобный способ преобразования строки в int: int i = int.parse('123'); есть ли что-то подобное для преобразования bools? bool b = bool.parse('true'); Ответ 1 У Bool нет методов. var val = 'True'; bool b = val.toLowerCase() == 'true'; должно быть достаточно простым. Ответ 2 Нет. Просто используйте: String boolAsString; bool b = boolAsString == 'true'; Ответ 3 Вы не можете выполнить эту операцию, как описано 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. Таким образом, вы не можете сделать это унифицированным образом. Только один. Ответ 4 Я думаю, что это должно быть так просто. int a = b ? 1 : 0; Если b истинно, a будет 1. Иначе, a будет 0.
Ответ 1 У Bool нет методов. var val = 'True'; bool b = val.toLowerCase() == 'true'; должно быть достаточно простым.
Ответ 3 Вы не можете выполнить эту операцию, как описано 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. Таким образом, вы не можете сделать это унифицированным образом. Только один.
Ответ 4 Я думаю, что это должно быть так просто. int a = b ? 1 : 0; Если b истинно, a будет 1. Иначе, a будет 0.