Float64到字符串

时间:2012-03-06 20:04:07

标签: c++ string floating-point

在C ++中,如何将float64类型的数据转换为字符串而不丢失float64中的任何数据?我需要它不仅要转换为字符串,而是在数字的任一侧添加一个字符串,然后发送到文件中。

代码:

string cycle("---NEW CYCLE ");
cycle+=//convert float64 to string and add to cycle
cycle+= "---\r\n";
writeText(cycle.c_str()); //writes string to txt file

感谢。

3 个答案:

答案 0 :(得分:3)

usual way转换为std::string的{​​{3}}是使用std::ostringstream

std::string stringify(float value)
{
     std::ostringstream oss;
     oss << value;
     return oss.str();
}

    // [...]
    cycle += stringify(data);

答案 1 :(得分:0)

您可以使用sprintf格式化字符串。

答案 2 :(得分:0)

您应该使用sprintf。请参阅此处的文档C++ Reference

作为一个例子,它将是:

char str[30];
float flt = 2.4567F;
sprintf(str, "%.4g", flt ); 

我还会使用string::append添加字符串。请参阅here

<强>更新

根据评论更新了代码。