W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
所有加密交易均以最小值 - Wei 進(jìn)行。 但為了改善用戶體驗(yàn),在前端通常以 ETH 格式輸入轉(zhuǎn)賬金額。 用戶希望輸入值 ?0.0001 TokenA
? 而不是 ?100000000000000 Wei TokenA
?。 標(biāo)準(zhǔn)的 web3 方法不方便轉(zhuǎn)換。 最方便的轉(zhuǎn)換方法是使用 ?Moralis.Units
? 輔助函數(shù)。
Wei 是以太的最小面額,你應(yīng)該始終以 Wei 進(jìn)行計(jì)算,并且僅出于顯示原因進(jìn)行轉(zhuǎn)換。
要將 ERC20 代幣轉(zhuǎn)換為 Wei,您需要指定代幣數(shù)量和小數(shù)位數(shù)。
//Example: We want to convert 0.5 BUSD. It has 18 decimals
const busdInWei = Moralis.Units.Token("0.5", "18")
// expected output: 500000000000000000 Wei
代幣的小數(shù)位數(shù)通??梢栽?nbsp;Etherscan、項(xiàng)目網(wǎng)站或 Moralis API 上找到。
要將原生資產(chǎn)轉(zhuǎn)換為 Wei,您需要指定原生加密貨幣的數(shù)量。
//Example: We want to convert 0.5 ETH to Wei
const ethInWei = Moralis.Units.ETH("0.5")
// expected output: 500000000000000000 Wei
所有代幣值均以 Wei 顯示。 如果要以“Eth”樣式顯示令牌值,可以使用:
//Convert token value to ETH style with 6 decimals
const tokenValue = Moralis.Units.FromWei("2000000000000000000", 6)
//Convert token value to ETH style with 18 decimals
//If you do not specify decimals, 18 decimals will be automatically used
const tokenValue = Moralis.Units.FromWei("2000000000000000000")
請(qǐng)注意,此功能在云代碼中尚不可用。 您只能在 SDK 中使用它。 我們很快就會(huì)將其添加到云代碼中。
代幣余額的 Web3 API 響應(yīng)在 Wei 字段中有小數(shù)和余額:
{
"token_address": "0x...b0",
"name": "name",
"symbol": "NAME",
"logo": null,
"thumbnail": null,
"decimals": "18",
"balance": "2000000000000000000"
},
Wei 是以太的最小面額,你應(yīng)該始終以 Wei 進(jìn)行計(jì)算,并且僅出于顯示原因進(jìn)行轉(zhuǎn)換。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: