Search Support

Avoid support scams. We will never ask you to call or text a phone number or share personal information. Please report suspicious activity using the “Report Abuse” option.

Learn More

json for long

  • 1 reply
  • 2 have this problem
  • 4 views
  • Last reply by 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
Attached screenshots

Modified by KANekT

Chosen solution

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.

Read this answer in context 👍 1

All Replies (1)

more options

Chosen Solution

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.