C++程序 双精度转字符串

C++程序 双精度转字符串

在此,我们将使用各种方法(即)构建C++程序,将双精度转换为字符串。

  1. 使用 to_string
  2. 使用 stringstream
  3. 使用 sprintf
  4. 使用 lexical_cast

我们将在所有提到的方法中保持相同的输入,并相应地获取输出。

输入:

n = 456321.7651234

输出:

字符串:456321.7651234 

1. 使用“to_string”

在C++中,使用 std::to string 将double转换为字符串。所需参数是double值,返回包含double值的字符串对象作为字符序列。

// C++程序演示Double to
// String使用to_string转换
  
#include <iostream>
#include <string.h>
using namespace std;
  
int main()
{
  
    double n = 456321.7651234;
    string str = to_string(n);
    cout << "字符串是:" << str;
    return 0;
}  

输出

字符串是:456321.765123

2. 使用字符串流

双精度也可以使用不同的方式在C++中转换为字符串,具体取决于我们的要求,使用 ostringstream。

// C++程序演示Double to
// String使用字符串流转换
  
#include <iostream>
#include <sstream>
#include <string>
using namespace std;
  
int main()
{
    ostringstream s;
    double n = 2332.43;
    s << n;
    string str = s.str();
    cout << "字符串是:" << str;
    return 0;
}  

输出

字符串是:2332.43

3. 使用sprintf

通过在sprintf中指定精度,我们可以自定义精度将double转换为字符串或字符数组。我们可以同时使用 sprintf 添加所需的额外文本(),和字符串。

// C++程序演示Double to
// String使用sprintf转换
  
#include <cstring>
#include <iostream>
#include <string>
#define Max_Digits 10
using namespace std;
  
int main()
{
    double N = 1243.3456;
    char str[Max_Digits + sizeof(char)];
    std::sprintf(str, "%f", N);
    std::printf("字符串是:%s \n", str);
  
    return 0;
}  

输出

字符串是:1243.345600 

4. 使用lexical_cast

转换单精度为字符串 是将double转换为字符串的最佳方法之一。

// C++程序演示Double to
// String使用lexical_cast转换
  
#include <boost/lexical_cast.hpp>
#include <iostream>
#include <string>
using namespace std;
  
int main()
{
    double n = 432.12;
    string str = boost::lexical_cast<string>(n);
    cout << "字符串是:" << str;
    return 0;
}  

输出

字符串是:432.12

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

C++ 示例