iT邦幫忙

0

web3.js的小數點問題

  • 分享至 

  • xImage

小弟最近在使用web3的fromWei,因為工作需求必須包兩層,但是會報出錯誤說數字必須是整數,不能為小數點,程式碼如下

web3.utils.fromWei(web3.utils.fromWei('6', 'mwei'), 'ether')

想請問這種時候有沒有什麼其他的替代方案或是解法?
本來有嘗試直接使用 *10的18次方 和 *10的6次方 來計算
但是算出來的值會顯示成1e+18

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
海綿寶寶
iT邦大神 1 級 ‧ 2022-03-24 08:44:00

錯誤不是因為「包兩層」
而是因為你傳的是「小數」
https://ithelp.ithome.com.tw/upload/images/20220324/20001787BhOFsUSuGr.png

可到線上練習區貼上以下測試程式即可看出端倪

async function main() {
  /*
    const name = await contract.methods.name().call()
    return name
  */
  console.log(web3.utils.fromWei('6', 'mwei'));
  console.log(web3.utils.fromWei(web3.utils.fromWei('6000000', 'mwei'), 'ether'));

  const ret = 0;
  return ret;
}

話又說回來
你好像該用的是toWei 函數

我要發表回答

立即登入回答