Ваш номер, к сожалению, слишком велик и переносится после завершения преобразования.
Самое большое целое число, которое вы можете выразить в JavaScript, это 2^53-1
, оно задается как Number.MAX_SAFE_INTEGER
, см. Документ MDN здесь .
Причина этого числа заключается в том, что JavaScript использует числа в формате с плавающей запятой двойной точности, как указано в IEEE 754, и может безопасно представлять только числа между - (2 ^ 53- 1) и 2 ^ 53 - 1.
console.log(Number.MAX_SAFE_INTEGER);
Если вы хотите работать с числами, превышающими этот предел, вам придется использовать представление, отличное от Number
, например String
, и использовать библиотеку дляобрабатывать операции (см., например, библиотеку BigInteger ).