【发布时间】:2015-08-26 14:40:45
【问题描述】:
我正在为一个应该很简单的问题苦苦挣扎:如何在基本 C 语言中进行简单的类型转换(从 double 到 char*)。
我找到了很多解决方案,但它们都是基于从double 到char[x] 的转换,但我在这里使用的是char*,而不是char[]。 (我不知道生成的字符串会有多长时间)。
最重要的是,我真的不敢相信这么简单的事情还需要另一种类型(stringstream、std::strings、...)。
我承认,我完全是 C 语言的新手,但我使用过其他语言(Visual Basic、Delphi、Java 等),我就是不明白为什么我找不到一个简单的像“to_char_pointer(double d)”这样的函数来做到这一点。
有人有想法吗?
【问题讨论】:
-
更好的问题是你想做什么? double 不能转换为 char*。如果您只是想获得双精度的字符串表示,则必须将其转换为 char 数组。接受 char* 的函数将接受 char[]。
-
对不起,我写这个问题的时候压力很大:看来我可以访问STL库,因此我的问题已经解决了:
#include <string>using namespace std;string str = to_string((long double)vector_with_doubles->at(i));
所以这个问题确实可以结束了。
标签: c++ char double type-conversion