BigNumber
的类/构造函数,称为bignumber.js。它有一个BigNumber.prototype.toNumber
方法,该方法将BigNumber
的实例转换为ECMAScript原始的number
。但是,当然,BigNumber
的数量比number
的数量无限多(更准确地说,有可数无穷多个BigNumber
,但只有2的64次方个number
),因此这种转换不可能精确。特别地,存在最小和最大的number
,但不存在最小或最大的BigNumber
,因此任何大于最大number
或小于最小number
的BigNumber
都无法表示。我会像这样做:
const getBalance = async () => {
try {
const balance = await token.balanceOf(address)
console.log(Number(balance._hex))
return balance;
} catch (error) {
console.log(error)
}
}
useEffect(() => {
getBalance().then((res) => setOwnerBalance(Number(res._hex)))
}, [data])
console.log(Number(balance._hex))
then()
方法“提取”了“number”值:let preCount = await instance.submissionsCount.call().then(v => { return v.toNumber() });
- 0xgio