c++ 如何把字符串类型分别转换成不同的类型

在C++中,将字符串转换为不同类型可以通过以下方法实现,具体取决于要转换的目标类型:

1. 字符串转换为整数(int)

使用std::stoi函数可以将字符串转换为整数。这个函数会尝试将字符串转换为整数类型,如果转换失败会抛出std::invalid_argumentstd::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, 异常处理