12345678910111213141516171819202122232425262728293031323334 |
- // SPDX-License-Identifier: MIT
- pragma solidity ^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
- if (value == 0) {
- return "0";
- }
- uint256 temp = value;
- uint256 digits;
- while (temp != 0) {
- digits++;
- temp /= 10;
- }
- bytes memory buffer = new bytes(digits);
- uint256 index = digits;
- temp = value;
- while (temp != 0) {
- buffer[--index] = bytes1(uint8(48 + uint256(temp % 10)));
- temp /= 10;
- }
- return string(buffer);
- }
- }
|