1

我正在尝试在 GTK+3.0(在 Linux 中使用 C)中创建一个文本框,该文本框可以作为双精度数读取,其中该双精度数将被插入到一个方程中,然后在另一个框中返回。

所以我的问题是:创建一个可以输入的文本框的最佳方法是什么,然后我如何将它读取为双精度?

我目前正在尝试使用gtk_entry_new()初始化和 - 经过一些中间步骤 -*gtk_entry_get_text来阅读。

我的阅读行目前看起来像这样:

double y = (double)*gtk_entry_get_text(GTK_ENTRY(input_y));

我不断将 y 作为指针,并且*gtk_entry_get_text(...)格式为 const gchar*

我相信最好的方法是转换const gchar*double,但是如何?

4

1 回答 1

1

$ 男子 atof

NAME
   atof - convert a string to a double

SYNOPSIS
   #include <stdlib.h>

   double atof(const char *nptr);

DESCRIPTION
   The atof() function converts the initial portion of the string
   pointed to by nptr to double.  The behavior is the same as

       strtod(nptr, (char **) NULL);

   except that atof() does not detect errors.

RETURN VALUE
   The converted value.

因此:

double y = atof(gtk_entry_get_text(GTK_ENTRY(input_y)));
于 2012-06-19T18:06:25.600 回答