赞
踩
// SPDX-License-Identifier: MIT pragma solidity >=0.6.0 <0.8.0; /** * @dev String operations. */ library Strings { /** * @dev Converts a `uint256` to its ASCII `string` representation. */ function toString(uint256 value) internal pure returns (string memory) { // Inspired by OraclizeAPI's implementation - MIT licence // https://github.com/oraclize/ethereum-api/blob/b42146b063c7d6ee1358846c198246239e9360e8/oraclizeAPI_0.4.25.sol //如果是0直接返回字符串“0” if (value == 0) { return "0"; } uint256 temp = value; uint256 digits; //循环计算uint256数字的数位个数digits while (temp != 0) { digits++; temp /= 10; } //创建一个相同数位大小的bytes字符数组 bytes memory buffer = new bytes(digits); uint256 index = digits - 1; temp = value; //循环,倒序保存字符到字符空间buffer //bytes1(uint8(48 + temp % 10)) EG:temp是52的话,结果是0x32 十六进制 while (temp != 0) { buffer[index--] = bytes1(uint8(48 + temp % 10)); temp /= 10; } return string(buffer); } }
solidity笔记(1)——第一篇
solidity笔记(2)——第二篇
solidity笔记(3)——abstract用法
solidity笔记(4)——冻结和交易属性
solidity笔记(5)——event用法
solidity笔记(6)——modifier用法
solidity笔记(7)——存储区域memory storage stack
solidity笔记(8)——pure用法
solidity笔记(9)——library用法
solidity笔记(10)——using for用法
solidity笔记(11)——struct用法
solidity终极武器——跨过门槛,掌握核心
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。