防止技術支援詐騙。我們絕對不會要求您撥打電話或發送簡訊,或是提供個人資訊。請用「回報濫用」功能回報可疑的行為。

了解更多

json for long

  • 1 回覆
  • 2 有這個問題
  • 4 次檢視
  • 最近回覆由 Banban

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)

選擇的解決方法

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.