簡體   English   中英

將 BigNumber 轉換為 Int,如 Kotlin

[英]Converting BigNumber to Int like in Kotlin

我在 Kotlin 中有以下內容將BigInteger轉換為普通integer

    val bigIntDiv = bigIntVal?.div(BigInteger.valueOf(429496))
    val resultInt = bigIntDiv?.toInt() //This line converts the big Interger down to regular integer

如何在 javascript 中實現相同的轉換。

我正在使用BigNumber.jshttps://github.com/MikeMcl/bignumber.js/我無法找到從BigNumber取回常規 integer 的方法

這是我目前擁有的BigNumber.js庫:

let bigIntVal = new BigNumber("5ACDBB4CC493D909F423D779C2C55E7381DFAE6547DCEFE5712F", 16)

現在我想從上面的 Kotlin 等效代碼中取回常規的 integer 嗎?

這樣:

let regularInteger = bigIntVal.toInt(); //would be the same value as returned from the Kotlin's end?

對於示例大數

5.09632306328228901945340839021510597564609217303391975753746718457743300101444483767019949e

我嘗試使用 BigNumber.js 庫如下:

let initial = new BigNumber("5.09632306328228901945340839021510597564609217303391975753746718457743300101444483767019949e",16);
let workingVal = initial.toNumber(); //This gives 5.096323063282289e+70, which is not what I want

當我在 kotlin 中編寫類似代碼時,kotlin 給了我想要的

    val resultInt = initial?.toInt() //Kotlin gave me -1879845894 which is great to work with.

那么,如何使用BigNumber.js庫實現相同的目標謝謝。

這是將 bigNumber 轉換為原始 int 的快速示例:

let bigIntVal = new BigNumber("5ACDBB4CC493D909F423D779C2C55E7381DFAE6547DCEFE5712F", 16)
let bigIntValToInt = bigIntVal.toNumber()

// double check
console.log(typeof bigIntVal);
console.log(typeof bigIntValToInt);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM