Ответ 1
Невозможно изначально обрабатывать 21-значный номер точности в JavaScript.
JavaScript имеет только один вид номера: "число", которое является IEEE-754 Double Precision ( "double" ). Таким образом, parseFloat
в JavaScript является эквивалентом "синтаксического двойника" на других языках.
Однако число / "double" предоставляет только 16 значащих цифр (десятичных) точности, поэтому чтение в количестве с 21 цифрой будет потерять 5 наименее значимых цифр 1.
Для большей точности (или точности) необходимо использовать библиотеку "большого числа",
- Какое стандартное решение в Javascript для обработки больших чисел (BigNum)?
- Какую библиотеку JavaScript можно использовать для управления большими целыми числами?
1 Информация может быть потеряна при кодировании как "двойной" IEEE, который не может кодировать все десятичные значения точно, а этот другой вопрос..