Когда я конвертирую переменную с помощью функций 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));
Надеюсь, поможет.
Попробуй это:
значение переменной = новое большое число (resultis.args._amount);
//преобразование большого числа из wei в ether, 18 десятичное число, заменить нуль в конце
var value = (web3.fromWei(value, "ether").toFixed(18)).replace(/^0+(\d)|(\d)0+$/gm, '$1$2');