📅  最后修改于: 2023-12-03 15:39:16.646000             🧑  作者: Mango
在C++中,我们经常需要将字符串转换为数字类型。可以使用stod、stof等函数将字符串转换为浮点型数据,stoi、stol等函数将字符串转换为整型数据。 下面是一个示例代码,它将一个字符串转换为整型数据:
#include <iostream>
#include <string>
int main() {
std::string str = "12345";
int num = std::stoi(str);
std::cout << num << std::endl;
return 0;
}
这段代码使用了std::stoi函数将字符串“12345”转换为整数存入变量num中,并输出num的值。如果我们要将字符串转换为浮点数,则可以使用std::stof函数。
另外,不仅可以将十进制的字符串转换为数字,还可以将十六进制、八进制的字符串转换为数字,只需要在函数中指定进制即可。例如,将十六进制字符串“1E”转换为整数:
#include <iostream>
#include <string>
int main() {
std::string hexStr = "1E";
int num = std::stoi(hexStr, nullptr, 16);
std::cout << num << std::endl;
return 0;
}
这段代码中,std::stoi函数的第三个参数指定为16,表示该字符串是16进制的数字字符串。如果要将八进制的字符串转换为整数,则需将第三个参数指定为8。 值得注意的是,如果要将一个非法的字符串转换为数字类型,则会抛出std::invalid_argument异常,程序需要进行异常处理。 在使用字符串转换函数时,程序员需要对字符串内容进行判断,以保证转换过程的正确性。