在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
感谢。
答案 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。
<强>更新强>
根据评论更新了代码。