21xrx.com
2025-04-01 17:46:55 Tuesday
文章检索 我的文章 写文章
C++字符串转换为数字的方法
2023-07-05 13:52:23 深夜i     19     0
C++ 字符串 转换 数字 方法

C++中将字符串转换为数字是一个常见的需求,比如将用户输入的字符串转换为整数或浮点数,并进行运算或处理。在C++中,有多种方法可以实现字符串到数字的转换,下面介绍其中的几种常用方法。

一、使用stoi和stod函数

C++标准库提供了stoi和stod函数,可以方便地将字符串转换为整型或双精度浮点型数字。使用方法如下:

#include <iostream>
#include <string>
using namespace std;
int main()
{
  string str1 = "123";
  string str2 = "3.1415";
  int num1 = stoi(str1);
  double num2 = stod(str2);
  cout << "num1: " << num1 << endl;
  cout << "num2: " << num2 << endl;
  return 0;
}

输出结果为:

num1: 123
num2: 3.1415

二、使用stringstream类

C++中的stringstream类可以方便地将字符串转换为数字。使用方法如下:

#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main()
{
  string str1 = "123";
  string str2 = "3.1415";
  stringstream ss1(str1);
  stringstream ss2(str2);
  int num1;
  double num2;
  ss1 >> num1;
  ss2 >> num2;
  cout << "num1: " << num1 << endl;
  cout << "num2: " << num2 << endl;
  return 0;
}

输出结果为:

num1: 123
num2: 3.1415

三、使用atof和atoi函数

C++中的atof和atoi函数也可以将字符串转换为数字。使用方法如下:

#include <iostream>
#include <string>
#include <cstdlib>
using namespace std;
int main()
{
  string str1 = "123";
  string str2 = "3.1415";
  int num1 = atoi(str1.c_str());
  double num2 = atof(str2.c_str());
  cout << "num1: " << num1 << endl;
  cout << "num2: " << num2 << endl;
  return 0;
}

输出结果为:

num1: 123
num2: 3.1415

总结

以上就是C++中将字符串转换为数字的几种常用方法,可以根据实际需求来选择不同的方法进行转换。建议使用C++标准库提供的函数和类实现字符串到数字的转换,避免手动实现过程中出现的错误。

  
  
下一篇: C++算法全解析

评论区

请求出错了