在C++中,你可以通過編寫一個自定義函數來實現類似itoa
的功能
#include<iostream>
#include<string>
#include<algorithm>
std::string my_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 number = -12345;
std::string str_number = my_itoa(number);
std::cout << "Number: "<< number << ", String: "<< str_number<< std::endl;
return 0;
}
這個示例中的my_itoa
函數接受一個整數值作為參數,并返回一個表示該整數的字符串。函數首先檢查輸入值是否為零,如果是,則直接返回字符串"0"。然后,函數檢查輸入值是否為負數,如果是,則將其轉換為正數,并設置一個布爾變量以便稍后添加負號。接下來,函數使用循環將整數的每一位添加到結果字符串中,最后將字符串反轉并返回。