21xrx.com
2024-09-20 05:57:36 Friday
登录
文章检索 我的文章 写文章
C++字符串转换为数字的方法
2023-07-05 13:52:23 深夜i     --     --
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++算法全解析

评论区

{{item['qq_nickname']}}
()
回复
回复