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


Dart BigInt.parse用法及代码示例

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

用法:

BigInt parse(
   String source,    
   {int? radix}   
)

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

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

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

如果没有给出 radix 则默认为 10。在这种情况下,source 数字也可以以 0x 开头,在这种情况下,数字被解释为十六进制文字,这实际上意味着 0x被忽略,而基数设置为 16。

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

如果 source 不是有效的整数文字,则抛出 FormatException,可选地以符号作为前缀。例子:

print(BigInt.parse('-12345678901234567890')); // -12345678901234567890
print(BigInt.parse('0xFF')); // 255
print(BigInt.parse('0xffffffffffffffff')); // 18446744073709551615

// From binary (base 2) value.
print(BigInt.parse('1100', radix: 2)); // 12
print(BigInt.parse('00011111', radix: 2)); // 31
print(BigInt.parse('011111100101', radix: 2)); // 2021
// From octal (base 8) value.
print(BigInt.parse('14', radix: 8)); // 12
print(BigInt.parse('37', radix: 8)); // 31
print(BigInt.parse('3745', radix: 8)); // 2021
// From hexadecimal (base 16) value.
print(BigInt.parse('c', radix: 16)); // 12
print(BigInt.parse('1f', radix: 16)); // 31
print(BigInt.parse('7e5', radix: 16)); // 2021
// From base 35 value.
print(BigInt.parse('y1', radix: 35)); // 1191 == 34 * 35 + 1
print(BigInt.parse('z1', radix: 35)); // Throws.
// From base 36 value.
print(BigInt.parse('y1', radix: 36)); // 1225 == 34 * 36 + 1
print(BigInt.parse('z1', radix: 36)); // 1261 == 35 * 36 + 1

相关用法


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