| 166 | } |
| 167 | |
| 168 | std::string GeneralUtils::IntToDigits(int num) |
| 169 | { |
| 170 | std::string digits; |
| 171 | digits.reserve(10); // 32-bit int max: 2,147,483,647 (10 digits) |
| 172 | |
| 173 | if (num == 0) |
| 174 | { |
| 175 | digits.push_back('0'); |
| 176 | return digits; |
| 177 | } |
| 178 | |
| 179 | while (num) |
| 180 | { |
| 181 | digits.push_back(static_cast<char>(num % 10) + '0'); |
| 182 | num /= 10; |
| 183 | } |
| 184 | |
| 185 | std::reverse(digits.begin(), digits.end()); |
| 186 | |
| 187 | return digits; |
| 188 | } |
| 189 | |
| 190 | int GeneralUtils::CountDigitsInNumber(int number) |
| 191 | { |