當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。