Bytes32

如何將 bytes32 結果修改為 uint?

  • May 12, 2016

我想將最近的塊頭雜湊的最後三位分開,並將結果作為 uint。

我可以通過這段程式碼得到 bytes32 的答案,但是如何將這個結果更改為 uint?

contract test
{
   bytes32 lastblockhashused;
   uint lastblocknumberused;

   function test()
   {
       lastblocknumberused = (block.number-1)  ;               
       lastblockhashused = block.blockhash(lastblocknumberused);
   }

   function getTest1() constant returns (bytes32) {
       bytes32 number1 =lastblockhashused;
       return number1 & 0xfff;
   }
}

或者只是完全取消您的number1變數,同時還要記住更改返回類型:

function getTest1() constant returns (uint) {
       return uint(lastblockhashused) & 0xfff;
   }

您可以簡單地將 bytes32 轉換為 uint uint(number1)

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