关于bigNumber的使用


做了一个虚拟币项目,体会到了什么是18层地狱

说一下常用方法

1 bigNumber类型转科学计数法

一般链上返回给我们的数据是超过18位的,和精度有关系;

balance:BigNumber类型的数字

decimals: 精度

dividedBy:BigNumber中的除法
lt:BigNumber中的是否小于
toPrecision:BigNumber中的方法,保留0后面的位数,比如0.0000234944 toPrecision(4) 变成 0.00002349
 
export const getDisplayBalance = (balance: BigNumber, decimals = 18) => {
  const displayBalance = balance.dividedBy(new BigNumber(10).pow(decimals))
  if (displayBalance.lt(1)) {
    return displayBalance.toPrecision(4)
  } else {
    return displayBalance.toFixed(2)
  }
}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM