21xrx.com
2024-12-22 22:11:52 Sunday
登录
文章检索 我的文章 写文章
C++ 数字字符串转换为数值的方法
2023-06-23 16:56:51 深夜i     --     --
C++ 数字字符串 转换 数值 方法

在 C++ 中,数字字符串转换为数值是一个常见的需求,如将从用户输入的字符串转换为整数或浮点数。这种转换在程序中非常常见,并且需要使用特定的方法来进行。

C++ 中数字字符串转换的方法:

1. 使用 stoi 和 stof 函数

C++ STL 库中的 stoi 和 stof 函数可以将字符串转换为整数和浮点数。stoi 函数将字符串转换为整数并返回转换后的结果,stof 函数将字符串转换为浮点数并返回转换后的结果。以下是使用 stoi 和 stof 函数进行转换的示例代码:


#include <iostream>

using namespace std;

int main()

{

  string str = "1234";

  int num = stoi(str);

  cout << num << endl;

  string str2 = "1234.56";

  float num2 = stof(str2);

  cout << num2 << endl;

  return 0;

}

2. 使用 stringstream 类

C++ 中提供了 stringstream 类来进行字符串和数值的相互转换。stringstream 类是从 basic_stringstream 模板类派生得到的,支持读取和写入操作,可以方便地进行字符串和数值之间的转换。

以下是使用 stringstream 类进行转换的示例代码:


#include <iostream>

#include <sstream>

using namespace std;

int main()

{

  string str = "1234";

  int num;

  stringstream(str) >> num;

  cout << num << endl;

  string str2 = "1234.56";

  float num2;

  stringstream(str2) >> num2;

  cout << num2 << endl;

  return 0;

}

3. 使用 atof 函数

atof 函数是一个将字符串转换为浮点数的函数,可以直接将字符串中的数字转换为浮点数。以下是使用 atof 函数进行转换的示例代码:


#include <iostream>

#include <cstdlib>

using namespace std;

int main()

{

  string str = "1234.56";

  float num = atof(str.c_str());

  cout << num << endl;

  return 0;

}

总结

在 C++ 中进行数字字符串转换为数值的方法有很多种,包括使用 stoi 和 stof 函数、stringstream 类和 atof 函数等。这些方法都有其特定的应用场景和适用范围,开发者在使用时需要根据实际需要进行选择。

  
  

评论区

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