c++ 如何把字符串类型分别转换成不同的类型
在C++中,将字符串转换为不同类型可以通过以下方法实现,具体取决于要转换的目标类型:
1. 字符串转换为整数(int)
使用std::stoi
函数可以将字符串转换为整数。这个函数会尝试将字符串转换为整数类型,如果转换失败会抛出std::invalid_argument
或std::out_of_range
异常。
cpp#include <iostream>
#include <string>
int main() {
std::string str = "123";
int num = std::stoi(str);
std::cout << "Converted integer: " << num << std::endl;
return 0;
}
2. 字符串转换为浮点数(double)
使用std::stod
函数可以将字符串转换为双精度浮点数。类似于std::stoi
,如果转换失败会抛出异常。
cpp#include <iostream>
#include <string>
int main() {
std::string str = "3.14";
double num = std::stod(str);
std::cout << "Converted double: " << num << std::endl;
return 0;
}
3. 字符串转换为长整型(long long)
使用std::stoll
函数可以将字符串转换为长整型。同样,会处理异常情况。
cpp#include <iostream>
#include <string>
int main() {
std::string str = "1234567890123456789";
long long num = std::stoll(str);
std::cout << "Converted long long: " << num << std::endl;
return 0;
}
注意事项:
- 异常处理:使用这些转换函数时,应该考虑可能的异常情况,如输入字符串不合法或超出类型范围。
- 类型选择:根据需要选择合适的转换函数,确保转换后的类型能够正确表达字符串的含义和值。
这些函数能够方便地实现C++中字符串到数值类型的转换,提供了安全且简单的方法。
关键字:C++, 字符串转换, std::stoi, std::stod, std::stoll, 异常处理