Solidity
BN如何除以小數
我試圖用一個常數來劃分 BN,但我找不到正確的函式。基本上我想將 132876 除以 1.30,
132876/1.30
用於 BN 操作。這是我嘗試過的一個片段。const gasAmount = new BN(132876) console.log(gasAmount.div(new BN('1.30')).toString()) // 160 console.log(gasAmount.div(new BN(1.30)).toString()) // 132876 // expected: 102212
Web3.js 庫已經支持 BigNumber,因此您不必添加該庫兩次。試試這個:
const gasAmount = web3.utils.toBN(132876); console.log(gasAmount.divn(1.30).toString());
類
BN
不支持小數,如官方文件中所述:注意:此庫不支持小數。
所以改變這個:
gasAmount.div(new BN(1.30))
對此:
gasAmount.mul(new BN(130)).div(new BN(100))
甚至對此:
gasAmount.muln(130).divn(100)