阅读量:0
在 C++ 中,itoa
函数不是标准库函数,但我们可以使用标准库中的其他函数来实现类似的功能。对于负数,我们需要先处理符号位,然后将负数转换为正数进行转换。下面是一个简单的示例:
#include<iostream> #include<string> #include<algorithm> std::string itoa(int value) { if (value == 0) { return "0"; } std::string result; bool is_negative = false; if (value < 0) { is_negative = true; value = -value; // 将负数转换为正数 } while (value > 0) { int digit = value % 10; result += '0' + digit; value /= 10; } if (is_negative) { result += '-'; } // 反转字符串 std::reverse(result.begin(), result.end()); return result; } int main() { int num = -12345; std::string str = itoa(num); std::cout << "Converted string: "<< str<< std::endl; return 0; }
这个示例中,我们首先检查输入值是否为负数。如果是负数,我们将其转换为正数,并在转换过程中记录符号位。然后,我们将整数转换为字符串,最后根据符号位添加负号。