在 C++ 中将 Double 转换为字符串

Posted

技术标签:

【中文标题】在 C++ 中将 Double 转换为字符串【英文标题】:Converting Double to String in C++ 【发布时间】:2009-05-14 16:08:13 【问题描述】:

我在尝试将 double 转换为 C++ 字符串时遇到了一些问题。这是我的代码

std::string doubleToString(double val)

    std::ostringstream out;
    out << val;
    return out.str();

我遇到的问题是,是否将双精度作为“10000000”传入。那么返回的字符串值为1e+007

我怎样才能得到字符串值为“10000000”

【问题讨论】:

下面的一些例子怎么样:codeproject.com/KB/recipes/Tokenizer.aspx 它们非常高效而且有点优雅。 【参考方案1】:
#include <iomanip>
using namespace std;
// ...
out << fixed << val;
// ...

您也可以考虑使用setprecision 来设置小数位数:

out << fixed << setprecision(2) << val;

【讨论】:

【参考方案2】:
#include <iomanip>

std::string doubleToString(double val)

   std::ostringstream out;
   out << std::fixed << val;
   return out.str();

【讨论】:

【参考方案3】:

您还可以使用 STL IO 操纵器设置最小宽度和填充字符,例如:

out.width(9); out.fill('');

【讨论】:

以上是关于在 C++ 中将 Double 转换为字符串的主要内容,如果未能解决你的问题,请参考以下文章

在 C++ 中将变量名转换为字符串

在 C++ 中将数字转换为字符串的最佳方法? [复制]

在 UITextField 操作中将 UITextField 字符串转换为 Double

在pyspark中将字符串价格值转换为double类型

如何使用 Swift 在 xCode 中将 textField 的字符串转换为 Double [重复]

将double转换为字符串时,如何在C#中将其四舍五入到N个小数位? [复制]