Поиск в Поддержке

Избегайте мошенников, выдающих себя за службу поддержки. Мы никогда не попросим вас позвонить, отправить текстовое сообщение или поделиться личной информацией. Сообщайте о подозрительной активности, используя функцию «Пожаловаться».

Learn More

json for long

  • 1 ответ
  • 2 имеют эту проблему
  • 4 просмотра
  • Последний ответ от Banban

more options

when i return from server long 134413929815213133

in console.log - i have 134413929815213140

if i return long as string in console right value 134413929815213140

when i return from server long 134413929815213133 in console.log - i have 134413929815213140 if i return long as string in console right value 134413929815213140
Приложенные скриншоты

Изменено KANekT

Выбранное решение

Numbers in Javascript have 64 bits :

  • 1 bit for the sign (+ or -)
  • 11 bits to store the location of the point in the number
  • 52 bits for the number itself

2^52 = 4 503 599 627 370 496 (~ 4.5x10^15), so if you assign numbers greater than 2^52, results are uncertain up to ~ 10^308 (it's infinite over).

If you don't need to do operations on these big numbers, using strings is indeed a good solution.

See this MDN article about Number type and ECMAScript standard page for more information.

Прочитайте этот ответ в контексте 👍 1

Все ответы (1)

more options

Выбранное решение

Numbers in Javascript have 64 bits :

  • 1 bit for the sign (+ or -)
  • 11 bits to store the location of the point in the number
  • 52 bits for the number itself

2^52 = 4 503 599 627 370 496 (~ 4.5x10^15), so if you assign numbers greater than 2^52, results are uncertain up to ~ 10^308 (it's infinite over).

If you don't need to do operations on these big numbers, using strings is indeed a good solution.

See this MDN article about Number type and ECMAScript standard page for more information.