Все Числа в Javascript имеют 64-битную "двойную" точность IEE754 с плавающей запятой.
Наибольшее положительное целое число, которое может поэтомубыть точно представленным 2 ^ 53 - 1. Остальные биты зарезервированы для показателя степени.
Ваш номер ровно в 1024 раза больше этого, поэтому теряет 3 десятичных знака точности.Его просто нельзя представить точнее.
В ES6 можно использовать Number.isSafeInteger( # )
для проверки числа, чтобы определить, находится ли оно в безопасном диапазоне:
var ThisInt = '9223372036854775808';
console.log( Number.isSafeInteger( parseInt( ThisInt ) ) );
Существует также библиотека BigInteger , которая должна быть в состоянии помочь, однако, избегая необходимости выполнять всю последовательность действий..
РЕДАКТИРОВАТЬ 2018/12 теперь в Chrome и NodeJS появился собственный класс BigInt
(и новый буквальный синтаксис).