21xrx.com
2024-12-22 17:16:21 Sunday
登录
文章检索 我的文章 写文章
C++中字符串转化为数字的方法
2023-07-13 05:29:05 深夜i     --     --
C++ 字符串 转化 数字 方法

在C++编程中,有时候我们需要将字符串转化为数字,例如将用户输入的字符串转化为整数或浮点数类型。在本文中,将介绍几种常用的C++中字符串转化为数字的方法。

1. 使用stringstream

stringstream是C++中非常常用的字符串流,可以轻松地将字符串转换为各种类型,包括数字类型。

示例代码如下:


#include <iostream>

#include <sstream>

#include <string>

int main()

{

  std::string str = "12345";

  int num;

  std::stringstream ss(str);

  ss >> num;

  std::cout << "num = " << num << std::endl;

  return 0;

}

2. 使用atoi和atof函数

C++中还有两个标准库函数可以将字符串转化为数字——atoi和atof。其中,atoi可以将字符串转化为整数类型,而atof可将字符串转化为浮点数类型。

示例代码如下:


#include <iostream>

#include <cstdlib> // 包含atoi和atof函数的头文件

int main()

{

  const char *str1 = "12345";

  const char *str2 = "3.14159";

  int num = std::atoi(str1);

  double pi = std::atof(str2);

  std::cout << "num = " << num << std::endl;

  std::cout << "pi = " << pi << std::endl;

  return 0;

}

需要注意的是,atof函数的参数必须是char类型。

3. 使用stol、stod等函数

C++11标准还提供了一组新的函数,它们能够将字符串转化为数字类型。这组函数包括stol、stod等,使用起来和atoi、atof比较相似,但是它们能够将参数以指定的基数为底来解析。

示例代码如下:


#include <iostream>

#include <string>

int main()

{

  std::string str1 = "12345";

  std::string str2 = "3.14159";

  long num = std::stol(str1);

  double pi = std::stod(str2);

  std::cout << "num = " << num << std::endl;

  std::cout << "pi = " << pi << std::endl;

  return 0;

}

以上就是C++中常用的三种字符串转化为数字的方法,它们都非常简单易用,可以根据自己的需求进行选择。在实际使用过程中,需要结合具体的业务场景进行选择,以取得最佳的效果。

  
  

评论区

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