C语言 类型转换双精度到字符串 - 将双精度连接到字符串



我在我的 c 应用程序中使用 gtk,并希望在窗口中显示一个替身作为标签。

 double d = 1000.50
 label = gtk_label_new (d);

我遇到了编译错误,因为该函数将字符串作为参数。

我习惯了Java,在那里很容易将原语与字符串连接起来。它也很容易将双精度转换为字符串。我已经用谷歌搜索了一个解决方案,但我只能找到 c++ 中的示例。

那么 - 如何将双精度转换为字符串或将双精度与字符串连接起来?

谢谢!!!

snprintf可用于执行此操作。可以使用 NULL 指针调用snprintf来评估缓冲区所需的大小,以便分配足够的资源以使生成的字符串适合。

double d = 1000.50
int len = snprintf(NULL, 0, "%f", d);
char *str = malloc(len+1);
snprintf(str, len, "%f", d);
label = gtk_label_new (str);

最新更新