在我以前的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”功能,因为它总是捕获了一个错误。
在我看来,这更多的是如何显示的数字,而不是一般的复仇上。在任何情况下,如果你想显示假设以10000为10.000,所以采用四位小数,你可以做x=10000/1000;console.log(x.toFixed(4))
。更一般情况下,使用不同数量的小数n
你可以做显示数字d
:x=n/(10^d);console.log(x.toFixed(d))