Solidity

如何表示完整的大數(全e)

  • December 25, 2017

當我使用函式 toNumber() 或 toString() 轉換變數時,我得到這個結果: x.toNumber()

1e+27

但我想看到所有數字的整個數字。因為如果我不轉換數字,大數字格式是這樣的:

BigNumber { s: 1, e: 26, c: [ 9999999500000 ] }

試試這個。我假設您正在從契約中獲取響應。

var theNumber;
myContract.getNumber()
.then(function(response) {
 theNumber = response;
 console.log(theNumber.toString(10));
});

您可以使用 降低幅度fromWei(theNumber, 'unit')。就像是

var shift18;
...
 shift18 = fromWei(theNumber, 'ether'); // (18 decimals)
 console.log(shift18.toString(10));

希望能幫助到你。

試試這個:

var value = new BigNumber(resultis.args._amount);

//將bignumber從wei轉換為ether,十進制18,替換尾隨零

var value = (web3.fromWei(value, “ether”).toFixed(18)).replace(/^0+(\d)|(\d)0+ $ /gm, ’ $ 1$2’);

引用自:https://ethereum.stackexchange.com/questions/34310