21xrx.com
2024-11-08 22:08:51 Friday
登录
文章检索 我的文章 写文章
C++ 中字符串转换为数字操作
2023-07-09 21:26:44 深夜i     --     --
C++ 字符串 转换 数字操作

C++中,我们可以使用一些函数将字符串转换成数字类型。这在很多场景下非常有用,例如需要从用户输入的字符串中提取数字等等操作。下面介绍一些常用的字符串转换成数字的函数。

1. stoi()

stoi()是C++11新增的函数,它可以将字符串转换成int类型。它的函数原型为:

int stoi (const string& str, size_t* idx = 0, int base = 10);

- str: 要转换的字符串。

- idx: 转换到哪个字符时出现了错误。

- base: 进制,默认十进制。

示例代码:


#include <iostream>

#include <string>

using namespace std;

int main(){

  string str = "12345";

  int num = stoi(str);

  cout << num << endl; // 输出: 12345

  return 0;

}

2. stod()

stod()可以将字符串转换未double类型。它的函数原型为:

double stod (const string& str, size_t* idx = 0);

- str: 要转换的字符串。

- idx: 转换到哪个字符时出现了错误。

示例代码:


#include <iostream>

#include <string>

using namespace std;

int main(){

  string str = "3.14";

  double num = stod(str);

  cout << num << endl; // 输出: 3.14

  return 0;

}

3. stof()

与stod()类似,stof()可以将字符串转换为float类型。

float stof (const string& str, size_t* idx = 0);

- str: 要转换的字符串。

- idx: 转换到哪个字符时出现了错误。

示例代码:


#include <iostream>

#include <string>

using namespace std;

int main(){

  string str = "3.14";

  float num = stof(str);

  cout << num << endl; // 输出: 3.14

  return 0;

}

在使用这些函数时,需要注意要转换的字符串必须完全是数字,否则会出现错误。此外,需要确保转换时所使用的进制正确,否则会出现错误的结果。

总之,上述函数提供了一种非常便捷的将字符串转换成数字类型的方法,我们可以根据实际需要选择其中适合的函数使用。

  
  

评论区

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