В JSON числа имеют двойную точность.
https://tools.ietf.org/html/rfc7159
Поскольку программное обеспечение, которое реализует двоичные64 (двойной точности) IEEE 754-2008 [IEEE754], широко доступно и широко используется, хорошая совместимость может быть достигнуто реализациями, которые ожидают не большей точности или диапазона, чем те, которые они обеспечивают, в том смысле, что реализации будут приближаться к JSON числам в пределах ожидаемой точности. Число JSON, такое как 1E400 или 3.141592653589793238462643383279, может указывать на потенциальные проблемы совместимости, поскольку предполагает, что созданное им программное обеспечение ожидает, что принимающее программное обеспечение будет иметь более широкие возможности для числовой c величины и точности, чем широко доступно.
Итак, вы получите до 17 значащих цифр.
https://en.wikipedia.org/wiki/Double-precision_floating-point_format
53-битное значение и точность дают от 15 до 17 точность значащих десятичных цифр (2−53 ≈ 1,11 × 10−16). Если десятичная строка, содержащая не более 15 значащих цифр, преобразуется в представление двойной точности IEEE 754, а затем преобразуется обратно в десятичную строку с тем же количеством цифр, конечный результат должен соответствовать исходной строке. Если число двойной точности IEEE 754 преобразуется в десятичную строку, содержащую не менее 17 значащих цифр, а затем возвращается обратно в представление двойной точности, окончательный результат должен соответствовать исходному числу. [1]
Вы получите тот же результат, если выполните в консоли браузера следующее:
56900.123456789012345678901 + 0
Возвращает
56900.12345678901
И если переместить десятичную дробь вправо, то же число значащих цифр:
5690012345678901.2345678901 + 0
выход:
5690012345678901
Вы можете сохранить значение в виде строки, чтобы сохранить полную точность, но, скорее всего, потеряете ее при преобразовании в любой поддерживаемых чисел c типов.
Для чего вам нужен этот уровень точности?