solidity 合约部分
pragma solidity ^0.4.17;
contract Calc{
function add(uint _a,uint _b) public pure returns (uint){
return (_a + _b);
}
}
js 部分代码部分
Calc.deployed().then(function(instance) {
calc = instance;
return calc.add.call(1,89,{from: account});
}).then(function(value) {
console.log("成功了");
console.log(value);
console.log("add result=" + value.valueOf());
}).catch(function(e) {
console.log(e);
self.setStatus("Error calc add; see log.");
});
按照逻辑应该计算出来的结果应该是90,可计算出来的结果却是 180 ?这是为何?
我后来改成了直接从input控件获取值,
var amount = parseInt(document.getElementById("amount").value);
Calc.deployed().then(function(instance) {
calc = instance;
return calc.add.call(amount,amount,{from: account});
}).then(function(value) {
console.log("成功了");
console.log(value);
console.log("add result=" + value.valueOf());
}).catch(function(e) {
console.log(e);
self.setStatus("Error calc add; see log.");
});
这样计算出来的值就正常了。
这是为啥?