Ethereum 以实体表示的切片编号(例如,从uint中提取2个第一个编号)

Ethereum 以实体表示的切片编号(例如,从uint中提取2个第一个编号),ethereum,solidity,smartcontracts,truffle,remix,Ethereum,Solidity,Smartcontracts,Truffle,Remix,我有以下数字: uint256 numbers = 123456789; 我需要将两个第一个数字(12)提取到uint变量中 还可以提取前一个数字之后的下两个数字:34 ect 有没有什么简单的方法可以把这件事做得扎实呢 我有这个函数,但它是为字符串设计的: function getSlice(uint256 begin, uint256 end, string text) public pure returns (string) { bytes memory a = new byte

我有以下数字:

uint256 numbers = 123456789;
我需要将两个第一个数字(12)提取到uint变量中

还可以提取前一个数字之后的下两个数字:34

ect

有没有什么简单的方法可以把这件事做得扎实呢

我有这个函数,但它是为字符串设计的:

function getSlice(uint256 begin, uint256 end, string text) public pure returns (string) {
    bytes memory a = new bytes(end-begin+1);
    for(uint i=0;i<=end-begin;i++){
        a[i] = bytes(text)[i+begin-1];
    }
    return string(a);    
}
函数getSlice(uint256 begin,uint256 end,string text)公共纯返回(string){ 字节内存a=新字节(结束-开始+1);
对于(uint i=0;iMy建议是没有理由做is Solidity。只需更改函数API,以便发送方(JavaScript/Python)为您执行此操作。我的建议是没有理由做is Solidity。只需更改函数API,以便发送方(JavaScript/Python)为您执行此操作。