📅  最后修改于: 2023-12-03 15:00:20.290000             🧑  作者: Mango
在Dart中,我们可以使用 bool
类型来表示布尔值,即 true/false
的值。有时候,我们需要从字符串中解析出布尔值,比如从外部数据源中获取数据。
Dart标准库中提供了一个 bool.parse()
方法,它可以将字符串转换成布尔值。下面是使用示例:
bool b1 = bool.parse('true'); // true
bool b2 = bool.parse('false'); // false
需要注意的是,该方法仅仅支持解析 'true'
和 'false'
两个字符串,不区分大小写,其他字符串均会抛出异常。为了避免异常的出现,我们可以使用 try...catch
来捕捉异常。
try {
bool b3 = bool.parse('not a boolean value');
} catch (e) {
print('$e'); // FormatException: Invalid value: "not a boolean value"
}
除了 bool.parse()
以外,我们还可以使用 Dart 标准库中的 boolFromString()
方法进行解析。该方法支持解析大多数大小写格式的布尔值字符串,比如 'yes'
, 'no'
, 'on'
, 'off'
, '1'
, '0'
等。
bool b4 = const {'y': true, 'n': false}.containsKey('y'); // true
bool b5 = const {'y': true, 'n': false}.containsKey('n'); // false
bool b6 = const {'yes': true, 'no': false}.containsKey('yes'); // true
bool b7 = const {'yes': true, 'no': false}.containsKey('no'); // false
bool b8 = const {'true': true, 'false': false}.containsKey('true'); // true
bool b9 = const {'true': true, 'false': false}.containsKey('false'); // false
需要注意的是,如果传入的字符串不是以上格式的字符串,该方法会返回 null
。
以上就是从字符串中解析布尔值的方法,希望对你有所帮助。