将浮点数转换为字符串。

3

可能是重复问题:
如何将double转换为字符串C++?

我在页面上搜索了一下,但没有找到解决方案。

我有一个将int转换为字符串的方法。但现在我需要将float/double转换为字符串。因为我想要将一些数据写入文件。

有人能帮助我吗?

提前致谢。


1
你所说的字符串是指C++中的string还是char *? - taskinoor
我在C语言中做了一些基础工作,我认为 char incy = (char *) bincy; 这样的东西可能完全错误,不过我也不确定。 :) - omninonsense
1
为什么将数据写入文件需要转换为字符串? - Cubbi
fprintf(outFile, "%f\n", floatVar); 怎么样? - Robᵩ
在打印/写变量之前,我需要进行转换。感谢您的回答。 - Jorge Vega Sánchez
https://dev59.com/Jl4b5IYBdhLWcg3wZwy3 - Shannon Matthews
5个回答

8


4

你能不能不使用标准的 (C) 函数 sprintf/fprintf 等?


不,我需要在写入文件之前进行转换。 - Jorge Vega Sánchez
sprintf允许您将内容“转换”(实际上是格式化)为字符串(char *),然后您可以将其写入文件或随意处理。 - Liv
请注意,直到最近,Windows不支持与Linux相同的snprintf命令,并且它们的工作方式也不同。这导致代码的可移植性问题。截至最新版本的Visual Studio,Microsoft的snprintf实现符合标准。 - Owl


2

您的文件是否使用IOStreams编写?如果是,则只需执行以下操作:

stream << number;

如果没有需要字符串,你可以使用ostringstream。Boost的lexical_cast以易于使用的方式封装了字符串流。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接