21xrx.com
2025-03-26 20:48:44 Wednesday
文章检索 我的文章 写文章
C++ double 转 string 方法详解
2023-06-23 08:43:03 深夜i     42     0
C++ double 转换 string 方法

在C++中,double数据类型表示的是双精度浮点数。有时候我们需要将double类型的数据转换为字符串类型,以便于输出或者存储到文件中。下面我们就来详细介绍C++中double转string的方法。

方法一:使用ostringstream

ostringstream类是C++标准库中的一个流输出类。我们可以使用ostringstream类的成员函数将double类型的数据转换为字符串类型。具体的方法如下所示:

#include <sstream>
#include <iostream>
using namespace std;
int main()
{
  double d = 3.14;
  ostringstream oss;
  oss << d;
  string str = oss.str();
  cout << str << endl;
  return 0;
}

这段代码中,我们首先定义了一个双精度浮点数d,然后定义了一个ostringstream对象oss。接着,我们使用oss的输出流运算符<<将d的值输送到oss对象中。最后,我们使用oss对象的成员函数str()将oss对象中的数据转换为字符串类型,并将其赋值给str。

方法二:使用sprintf函数

sprintf函数是C语言标准库中的函数,在C++中也可以使用。它可以将格式化的数据存储到一个字符串中。具体的方法如下所示:

#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
  double d = 100.01;
  char buf[20];
  sprintf(buf, "%.2f", d);
  string str(buf);
  cout << str << endl;
  return 0;
}

这段代码中,我们首先定义了一个双精度浮点数d,然后定义了一个大小为20的字符数组buf。接着,我们使用sprintf函数将d的值格式化为保留两位小数的字符串并存储到buf数组中。最后,我们使用string类的构造函数将buf数组中的数据转换为字符串类型,并将其赋值给str。

方法三:使用to_string函数

C++11新增了to_string函数,可以将数字类型转换为字符串类型。具体的方法如下所示:

#include <iostream>
#include <string>
using namespace std;
int main()
{
  double d = 2.71828;
  string str = to_string(d);
  cout << str << endl;
  return 0;
}

这段代码中,我们首先定义了一个双精度浮点数d,然后使用to_string函数将d的值转换为字符串类型,并将其赋值给str。

总结:

本文介绍了C++中double转string的三种方法,分别是使用ostringstream类、sprintf函数和to_string函数。大家可以根据实际需要选择不同的方法实现double转string操作。

  
  

评论区

请求出错了