Oracles
不允許從“字元串記憶體”到“uint256”的顯式類型轉換
我正在使用 oracle 從自定義 api 中獲取結果。結果預設為字元串。我想把它轉換成 uint256,這樣我就可以執行基本的算術函式了。
這是我的程式碼:
function __callback(bytes32 myid, string result) public{ if (msg.sender != provable_cbAddress()) revert(); uint256 points = uint(result); //Error here balanceOf[pointsAllowance[myid]] = points; remSupply = remSupply - points; emit LogPriceUpdated(points); }
你使用
OraclizeLib
圖書館正確嗎?如果是,則該庫已在其中定義parseInt
了方法。然後你的函式可以毫無問題地像這樣使用:function __callback(bytes32 myid, string result) public{ if (msg.sender != provable_cbAddress()) revert(); uint256 points = parseInt(result); balanceOf[pointsAllowance[myid]] = points; remSupply = remSupply - points; emit LogPriceUpdated(points); }