是否有阅读ERC20供应和输出给无小数数的函数?

问题描述 投票:2回答:1

在我以前的post我发现了如何允许用户输入数字ERC20令牌,并与小数位数返回值。

说,小数为ERC20数为4,用户输入1.5,我们将使用.toFixed(4)告诉他们1.5000。

现在,我想相反的方法(代码后的详细信息),但它似乎没有任何功能,如“fromFixed”。例如,我读取使用web3js总供给

checkBalance = async event => {
    try {
      const balance = await smartContract.methods.balanceOf(event).call();
      console.log(balance)
    } catch (err) {
      let error= 'Address Error';
      console.log(error)
    }
  };

假定有10K ERC20,上面的代码将在输出亿显示(这是10,000.0000)。我想说明一个点,结果最后4位小数加到所以只是10000.0000(10,000.0000)。

我试图balance.toFixed(4)

然而,输出更糟糕,因为我得到万亿(10,000,0000.0000)`

我想console.log(web3.fromWei(balanceOf, 'ether'));期待它会被转化为复仇的18个小数和输出将会像10 000.000000000000000000

这永远不会奏效的“checkBalance”功能,因为它总是捕获了一个错误。

javascript decimal solidity smartcontracts web3js
1个回答
2
投票

在我看来,这更多的是如何显示的数字,而不是一般的复仇上。在任何情况下,如果你想显示假设以10000为10.000,所以采用四位小数,你可以做x=10000/1000;console.log(x.toFixed(4))。更一般情况下,使用不同数量的小数n你可以做显示数字dx=n/(10^d);console.log(x.toFixed(d))

© www.soinside.com 2019 - 2024. All rights reserved.