2013-05-14 2 views
1

В моем JSP У меня есть целочисленный массив, где каждое целое число имеет 19 цифр. Я передаю этот массив функции javascript. Поскольку javascript поддерживает числа в диапазоне +/- 9007199254740992, последние три цифры всех целых чисел в целочисленном массиве преобразуются в нули.Передача целочисленного массива из JSP в JS

Например, в JSP - целое число массив [6918384653328004118, 9016587993063058147] В JavaScript функции, я получаю это целочисленный массив как [6918384653328004000, 9016587993063058000]

Пожалуйста, дайте мне знать, как я могу пройти полные 19 цифр целочисленный массив к функции javascript.

Спасибо, Surabhi

+0

Номера Javascript на самом деле IEEE-754 удваиваются. В Javascript нет другого типа номера. Таким образом, поскольку двойник имеет ок. 16 десятичных цифр, это может быть нетривиальная задача. Возможно, потребуется разработать индивидуальное числовое представление, чтобы сохранить 19-значный длинный int. Однако некоторые сторонние библиотеки могут существовать. –

+0

Что вы будете использовать для чисел? Я воспринимаю это просто, представляя их, поскольку строки недостаточно хороши, потому что вы хотите делать с ними математические операции? Существуют библиотеки BigInteger для JavaScript, которые позволяют вам это делать. – nnnnnn

+0

Я не буду использовать эти числа для вычислений, он будет использоваться для создания другого URL-адреса. – Surabhi

ответ

1

Если вы не намерены использовать эти целые числа для расчета, вы можете просто передать в свой Javascript как Струны и рассматривать их как строки в коде JS?

Вместо генерации массива чисел ([6918384653328004118 , 9016587993063058147]), измените свой JSP, чтобы он обматывал ваши цифры в кавычках (["6918384653328004118" , "9016587993063058147"]). Javascript интерпретирует это как массив строк.

+0

Спасибо за решение. После изменения номера в строку путем добавления котировок JS получает все 19 цифр. – Surabhi

Смежные вопросы