Solidity中的切片编号例如,从uint中提取2个第一个编号

问题描述

我有这个电话号码:

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);    
}

对于我来说,我希望输入/输出编号在UINT256中。

预先感谢您的帮助!

解决方法

  function get2First() public view returns (uint) { 
    
    uint a = 123456789;
    uint b = a / 10000000;       
    return  b ;
}



function get2second() public view returns (uint) {
    
    uint a = 123456789;
    uint b = a / 100000;
    uint c = b % 100;
    return  c ;
}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...