当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Dart int.parse用法及代码示例


dart:core 库中int.parse 方法的用法介绍如下。

用法:

int parse(
   String source,    
   {int? radix,    
   @deprecated int onError(
   String source   
)?}   
)
      override

source 解析为可能有符号的整数文字并返回其值。

source 必须是一个非空的 base-radix 数字序列,可选前缀为减号或加号('-' 或 '+')。

radix 必须在 2..36 范围内。使用的数字首先是十进制数字 0..9,然后是值 10 到 35 的字母 'a'..'z'。还接受与小写字母具有相同值的大写字母。

如果没有给出 radix 则默认为 10。在这种情况下,source 数字也可以以 0x 开头,在这种情况下,数字被解释为十六进制整数文字,当 int 由64 位有符号整数,十六进制整数文字可能表示大于 263 的值,在这种情况下,该值被解析为 unsigned 数字,结果值为对应的有符号整数值。

对于任何 int n 和有效基数 r ,保证 n == int.parse(n.toRadixString(r), radix: r)

如果 source 字符串不包含有效的整数文字,可选地以符号为前缀,则抛出 FormatException(除非使用已弃用的 onError 参数,请参见下文)。

而不是抛出并立即捕获 FormatException ,而是使用 tryParse 来处理解析错误。

例子:

var value = int.tryParse(text);
if (value == null) {
  // handle the problem
  // ...
}

onError 参数已弃用并将被删除。而不是 int.parse(string, onError: (string) => ...) ,您应该使用 int.tryParse(string) ?? (...)

当源字符串无效并且提供了 onError 时,每当抛出 FormatException 时,都会使用 source 作为参数调用 onError,并且该调用的结果由 parse 返回。

相关用法


注:本文由纯净天空筛选整理自dart.dev大神的英文原创作品 parse method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。