В этой статье анализируется проблема с точностью до длиной JS. Поделитесь этим для вашей ссылки. Конкретный анализ заключается в следующем:
Описание проблемы:
В фоновом режиме существует функция скрипта, которая может писать сценарии для динамического вызова кода Java
Кода кода выглядит следующим образом: importClass (com.ztgame.center.controller.api, p360apicontroller);
var roleid = 10214734953631045;
p360apicontroller.notice (Roleid, 4);
Сценарий был успешно выполнен, но результат работы отличался от настройки. Этот человек не получил электронное письмо
Просмотр премии по перезарядке журнала была отправлена. Roleid = 10214734953631044;
Этот идентификационный номер персонажа на 1 меньше, это ...
Анализ проблем:
Это должен быть проблема с точностью JS.
Точность
Целое число (без десятичного или экспоненциального подсчета) составляет до 15 цифр.
Максимальное количество цифр десятичного десятичного составляет 17, но операции с плавающей запятой не всегда на 100% точны:
Изменить сценарий
Кода -код выглядит следующим образом: var roleid = 10214734953631045;
var output = roleid;
Выход:
1.0214734953631044E16;
Это не вина JavaScript, и это не вина Java. Вышеуказанное преобразование в длину действительно ротоид = 10214734953631044;
Можно ли сделать это?
Консоль JavaScript вводит строки, а затем вызывает integer.valueof или long.valueof Conversion в Java?
Решение:
Напишите общий метод преобразования, чтобы передать идентификатор роли в строку в Javascriptengine
Кода кода выглядит следующим образом: importClass (com.ztgame.common.util.stringkit);
ImportClass (com.ztgame.center.controller.api, p360apicontroller);
Объявить как строку
Кода -код выглядит следующим образом: var roleid = "10214734953631045";
Таким образом, то, что получает Javascriptengine, является строкой. На самом деле, работа - Java для его обработки.
Кода кода выглядит следующим образом: p360apicontroller.notice (stringkit.parselong (Roleid), 4);
Выполнение успешно, просто используйте его сначала ~
Я надеюсь, что эта статья будет полезна для каждого программирования JavaScript.