Convert big number ke string/Menemukan value (number 20 digit) yang di dapat dari API

Anggaplah saya mendapatkan response dari server sbb:

{"data":{"a":"2","value": 99999999999999999999}}

Bagaimana cara saya menemukan value dinamis (9x20) dengan "value" sebagai penanda?

Bagaimana cara convert value (9x20) ke dalam string? Mengingat javascript tidak akurat dalam parsing number dengan jumlah besar, jika value kita parsing dengan JSON.parse(), parseInt atau properti lainnya akan menimbulkan kesalahan angka , angka akan direduksi dan menciptakan bukan value yang sebenarnya.

Inti pertanyaan: bagaimana cara mengambil 9999999999999999999 dan merubahnya ke dalam tipe string?

Catatan: a:2 dan value:9x20 adalah value dinamis dan dapat berubah kapan saja, berapa saja

avatar tuyllers
@tuyllers

12 Kontribusi 2 Poin

Diperbarui 2 tahun yang lalu

1 Jawaban:

<div>Untuk number yang lebih besar dari Number.MAX_SAFE_INTEGER ( 9007199254740991 ), itu sudah masuk ke BigInt<br>Masalah ini bukan sekedar merubah Int ke BigInt, karena melibatkan JSON parse -- kecuali mau parse sendiri JSON string-nya.<br><br>Bisa di coba pakai &nbsp;<a href="https://www.npmjs.com/package/json-bigint">json-bigint</a>&nbsp;</div>

avatar soeleman
@soeleman

120 Kontribusi 147 Poin

Dipost 2 tahun yang lalu

Login untuk ikut Jawaban