在 C++ 中,itoa
函数不是标准库函数,但我们可以使用标准库中的其他函数来实现类似的功能。对于负数,我们需要先处理符号位,然后将负数转换为正数进行转换。下面是一个简单的示例:
#include
#include
#include
std::string itoa(int value) {
if (value =https://www.yisu.com/ask/= 0) {"0";
}
std::string result;
bool is_negative = false;
if (value < 0) {
is_negative = true;
value = https://www.yisu.com/ask/-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;
}
这个示例中,我们首先检查输入值是否为负数。如果是负数,我们将其转换为正数,并在转换过程中记录符号位。然后,我们将整数转换为字符串,最后根据符号位添加负号。