【发布时间】:2021-01-06 19:25:38
【问题描述】:
我有这个号码:
uint256 numbers = 123456789;
我需要将前两个数字 (12) 提取到 uint 变量中。
还可以提取前一个数字之后的下两个数字:34
等等。
有什么简单的方法可以在solidity中做这样的事情吗?
我有这个功能,但它是为字符串制作的:
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);
}
就我而言,我希望 INPUT/OUTPUT 数字为 UINT256。
提前感谢您的帮助!
【问题讨论】:
-
我的建议是没有理由做的是 Solidity。只需更改函数 API,以便发送方 (JavaScript/Python) 为您执行此操作。
标签: ethereum solidity smartcontracts truffle remix