21xrx.com
2025-07-14 14:46:31 Monday
登录
文章检索 我的文章 写文章
C++字符串转数字化
2023-07-04 19:51:22 深夜i     12     0
C++ 字符串 数字化 转换 数据类型

在C++中,将字符串转换为数字是一项常见的任务,这在许多应用程序中都非常重要。例如,如果您正在编写一个程序来处理数字,您可能需要将一些输入字符串转换为数字,在一些算法中可能需要比较数字大小或执行递增/递减操作。在这篇文章中,我们将探讨如何将字符串转换为数字。

1. 使用stoi函数

C++中的stoi函数可以将字符串转换为整数。stoi函数接受一个字符串作为参数,并返回对应的整数值。如果字符串无法转换为整数,则会抛出一个异常。以下是一个示例:

#include <iostream>
#include <string>
using namespace std;
int main() {
  string str = "1234";
  int num = stoi(str);
  cout << num << endl;
  return 0;
}

2. 使用stol函数

如果您需要将字符串转换为长整型,可以使用stol函数。stol函数的用法与stoi函数类似,只不过它返回的是一个long类型的整数。以下是一个示例:

#include <iostream>
#include <string>
using namespace std;
int main() {
  string str = "1234567890123456789";
  long num = stol(str);
  cout << num << endl;
  return 0;
}

3. 使用stod函数

如果您需要将字符串转换为双精度浮点数,可以使用stod函数。stod函数的用法与stoi函数类似,只不过它返回的是一个double类型的值。以下是一个示例:

#include <iostream>
#include <string>
using namespace std;
int main() {
  string str = "3.1415926";
  double num = stod(str);
  cout << num << endl;
  return 0;
}

4. 使用stringstream类

另一种将字符串转换为数字的方法是使用stringstream类。stringstream类允许将字符串转换为多种数据类型。以下是一个示例:

#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main() {
  string str = "1234";
  stringstream ss(str);
  int num;
  ss >> num;
  cout << num << endl;
  return 0;
}

总结

以上是将字符串转换为数字的四种方法。无论您选择哪种方法,都应该注意错误处理。在转换字符串时,注意检查是否会发生异常,以及如果发生异常该如何处理。

  
  

评论区