函数

GLibascii_string_to_signed

自版本:2.54 起提供

声明 [src]

gboolean
g_ascii_string_to_signed (
  const gchar* str,
  guint base,
  gint64 min,
  gint64 max,
  gint64* out_num,
  GError** error
)

说明 [src]

将字符串转换为有符号数字的便捷函数。

此函数假定,str 仅包含 base 给定的数字,它处于 minmax 限制的包容范围内。如果为 true,则转换后的数字将存储在 out_num 中。空字符串不是有效的输入。带有前导或尾随空格的字符串也不是有效的输入。

base 可以包含 2 到 36 之间的数字。十六进制数字不得以“0x”或“0X”为前缀。八进制数字不存在此问题,因为它们通常以一个零作为前缀,不会改变解析后的数字的值。

解析失败会导致以 G_NUMBER_PARSER_ERROR 域为准的错误。如果输入无效,错误代码将是 G_NUMBER_PARSER_ERROR_INVALID。如果解析后的数字范围超出界限 - G_NUMBER_PARSER_ERROR_OUT_OF_BOUNDS

如果您有更复杂的需求,比如解析以数字开头的字符串,但之后还有其他字符,请参阅 g_ascii_strtoll()

自以下版本起提供:2.54

参数

str

类型: const gchar*

要转换的 字符串。

此数据由函数的调用方所有。
该值为以空字符结尾的 UTF-8 字符串。
base

类型: guint

解析后的 数字

min

类型: gint64

下限 (包含)。

max

类型: gint64

上限 (包含).

out_num

类型: gint64*

数字的返回 位置。

此参数将由函数设置。
此参数可以是 NULL
error

类型: GError **

可恢复性错误的返回位置(一个可恢复错误)。

此参数可以是 NULL
如果返回位置不为 NULL,则必须将其初始化为 NULL GError*
如果发生错误,此参数将由函数初始化并设为 NULL,调用方将拥有此数据的所有权,并负责释放它。
在发生错误的情况下,此参数将被设为一个新分配的 GError;调用方将拥有数据的拥有权,并且负责释放掉该数据。

返回值

类型: gboolean

如果 str 是一个数字,则为 true,否则为 false。