@KzLIFE

Как преоброзовать отрицательное число int32 в int64 в nodejs?

Есть сервер на Nodejs, через него подключаюсь в базу Mysql, в базе есть одна таблица Items (id, id2);

id это int;
id2 это bigint;

получая запись оно мне выводит -1556717912 а в базе 2738249384.
  • Вопрос задан
  • 292 просмотра
Решения вопроса 1
riky
@riky
Laravel
тк нода не поддерживает 64 бит числа, то при хранении в инт32 часть числа теряется. конвертирование тут бесполезно.

в вашем случае в качестве временного решения.
2^32 - 1556717912 = 2738249384
(2^32 = 4294967296)

но как только ид перевалят за 2^32 - то уже не поможет.

если нужно больше то нужно уже переписывать модуль который вы используете для общения с mysql. чтобы он возвращал их в в виде числа с плавающей запятой, там младшие биты насколько я знаю пропадают начиная с 2^53, этого должно быть достаточно.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Sanasol
@Sanasol
нельзя просто так взять и загуглить ошибку
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы