holyya.com
2025-09-04 18:15:24 Thursday
登录
文章检索 我的文章 写文章
C++ double 转 string 方法详解
2023-06-23 08:43:03 深夜i     --     --
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操作。

  
  

评论区

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