JavaScript BigInt.toString() — велике число рядком


Метод toString() перетворює BigInt на рядок. Суфікс n у результат не входить.

автор: NagarD

Загальний опис

Це головний спосіб віддати велике число назовні. JSON.stringify() на BigInt кидає TypeError — і це одна з найнеприємніших несподіванок при роботі з великими id.

Обхід стандартний: перетворити на рядок перед серіалізацією. Сервер прийме його як рядок, і точність не втратиться.

Аргументом можна задати основу числення: toString(16) дасть шістнадцятковий запис.

автор: NagarD

Нотатка

JSON.stringify() на BigInt кидає помилку. Це не забудькуватість авторів: віддати його числом означало б утратити точність, а віддати рядком — змінити тип. Тому рішення лишили за тобою.

автор: NagarD

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
toString 67+ 68+ 14+ 54+ 79+ -
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
toString 67+ yes yes 14+

Приклади

+ запропонувати свій приклад у пісочниці

JSON не вміє BigInt — перетворюємо самі.

const id = 9007199254740993n;

console.log(id.toString());    // '9007199254740993' — без «n»
console.log(id.toString(16));  // шістнадцятково

// а це кине TypeError
// JSON.stringify({ id });

// обхід: рядком
console.log(JSON.stringify({ id: id.toString() }));

// або через replacer
console.log(JSON.stringify({ id }, (key, value) =>
    typeof value === 'bigint' ? value.toString() : value
));
автор: NagarD

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Пропозиція правки

Ваша версія — : після перевірки замінить чинну. Нова порада чи нотатка — з'явиться на сторінці після перевірки.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія секції «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія опису «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Зворотний зв'язок
Вхід