Spec-Zone.ru › Dart 2

dart:core

Метод parse

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

Парсит source как, возможно, знаковое, целочисленное литерал и возвращает его значение.

source должно быть непустой последовательностью цифр в заданной системе счисления, необязательно с префиксом минус или плюс ('-' или '+').

radix должен быть в диапазоне от 2 до 36. Используемые цифры — это сначала десятичные цифры от 0 до 9, а затем буквы 'a'..'z' со значениями от 10 до 35. Также поддерживаются прописные буквы с теми же значениями, что и строчные.

Если radix не указан, он по умолчанию равен 10. В этом случае source цифры также могут начинаться с 0x, в этом случае число интерпретируется как шестнадцатеричное литерал, что фактически означает, что 0x игнорируется, а основание вместо этого устанавливается в 16.

Для любого int n и основания r, гарантируется, что n == int.parse(n.toRadixString(r), radix: r).

Выбрасывает FormatException, если source не является допустимым целочисленным литералом, необязательно с префиксом знака. Примеры:

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

Реализация

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

© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.18.5/dart-core/BigInt/parse.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API