如何使用 web3.js 中的 toWei() 函数来表示有 2 位小数的标记?
how to use toWei() function in web3.js for tokens having 2 decimals?
我正在尝试使用名为 toWei() 的 web3js 函数将金额转换为 wei。
这是我的代码:
var etherwithdrawamount1=web3Infura.utils.toWei(etherwithdrawamount, 'wei');
现在的问题是代币数量计算不正确,因为代币有两位小数。
在 web3 文档中:https://web3js.readthedocs.io/en/1.0/web3-utils.html#towei
没有两位小数的位置。
number - String|Number|BN: 值。
unit - 字符串(可选,默认为 "ether"):要转换的以太币
来自.
可能的单位是:
noether: ‘0’
wei: ‘1’
kwei: ‘1000’
Kwei: ‘1000’
babbage: ‘1000’
femtoether: ‘1000’
mwei: ‘1000000’
Mwei: ‘1000000’
lovelace: ‘1000000’
picoether: ‘1000000’
gwei: ‘1000000000’
Gwei: ‘1000000000’
shannon:‘1000000000’
nanoether: ‘1000000000’
nano: ‘1000000000’
szabo: ‘1000000000000’
microether: ‘1000000000000’
micro: ‘1000000000000’
finney: ‘1000000000000000’
milliether: ‘1000000000000000’
milli: ‘1000000000000000’
ether: ‘1000000000000000000’
那么,如何在 toWei() 中获取正确的值,其中 token 小数点是 2?
您正在使用的函数 toWei()
用于转换以 wei 为单位的以太币数量,而不是以 wei 为单位的代币数量。要以 wei 为单位转换代币数量,您必须使用代币的价格。更具体地说,您必须将代币数量乘以以 wei 为单位的代币价格,或与此相关的任何其他单位,这将告诉您您在上面使用的单位中花费了多少代币。因此,如果您有 10 个代币,每个代币的价格为 2 wei
,那么您的代币价值为 20 wei
。
试试这个:
function strtodec(amount,dec){
stringf = "";
for(var i=0;i<dec;i++){
stringf = stringf+"0";
}
return amount+stringf;
}
您需要使用此方法调用此函数:
strtodec(amount,'your token decimal here')
逻辑是这样的:该函数在您想要的小数位数中添加零。
我正在尝试使用名为 toWei() 的 web3js 函数将金额转换为 wei。
这是我的代码:
var etherwithdrawamount1=web3Infura.utils.toWei(etherwithdrawamount, 'wei');
现在的问题是代币数量计算不正确,因为代币有两位小数。
在 web3 文档中:https://web3js.readthedocs.io/en/1.0/web3-utils.html#towei 没有两位小数的位置。
number - String|Number|BN: 值。
unit - 字符串(可选,默认为 "ether"):要转换的以太币 来自.
可能的单位是:
noether: ‘0’
wei: ‘1’
kwei: ‘1000’
Kwei: ‘1000’
babbage: ‘1000’
femtoether: ‘1000’
mwei: ‘1000000’
Mwei: ‘1000000’
lovelace: ‘1000000’
picoether: ‘1000000’
gwei: ‘1000000000’
Gwei: ‘1000000000’
shannon:‘1000000000’
nanoether: ‘1000000000’
nano: ‘1000000000’
szabo: ‘1000000000000’
microether: ‘1000000000000’
micro: ‘1000000000000’
finney: ‘1000000000000000’
milliether: ‘1000000000000000’
milli: ‘1000000000000000’
ether: ‘1000000000000000000’
那么,如何在 toWei() 中获取正确的值,其中 token 小数点是 2?
您正在使用的函数 toWei()
用于转换以 wei 为单位的以太币数量,而不是以 wei 为单位的代币数量。要以 wei 为单位转换代币数量,您必须使用代币的价格。更具体地说,您必须将代币数量乘以以 wei 为单位的代币价格,或与此相关的任何其他单位,这将告诉您您在上面使用的单位中花费了多少代币。因此,如果您有 10 个代币,每个代币的价格为 2 wei
,那么您的代币价值为 20 wei
。
试试这个:
function strtodec(amount,dec){
stringf = "";
for(var i=0;i<dec;i++){
stringf = stringf+"0";
}
return amount+stringf;
}
您需要使用此方法调用此函数:
strtodec(amount,'your token decimal here')
逻辑是这样的:该函数在您想要的小数位数中添加零。