Declaration [src]

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

Description [src]

A convenience function for converting a string to a signed number.

This function assumes that str contains only a number of the given base that is within inclusive bounds limited by min and max. If this is true, then the converted number is stored in out_num. An empty string is not a valid input. A string with leading or trailing whitespace is also an invalid input.

base can be between 2 and 36 inclusive. Hexadecimal numbers must not be prefixed with “0x” or “0X”. Such a problem does not exist for octal numbers, since they were usually prefixed with a zero which does not change the value of the parsed number.

Parsing failures result in an error with the G_NUMBER_PARSER_ERROR domain. If the input is invalid, the error code will be G_NUMBER_PARSER_ERROR_INVALID. If the parsed number is out of bounds - G_NUMBER_PARSER_ERROR_OUT_OF_BOUNDS.

See g_ascii_strtoll() if you have more complex needs such as parsing a string which starts with a number, but then has other characters.

Available since:2.54


str const gchar*

A string.

 The data is owned by the caller of the function.
 The string is a NUL terminated UTF-8 string.
base guint

Base of a parsed number.

min gint64

A lower bound (inclusive)

max gint64

An upper bound (inclusive)

out_num gint64*

A return location for a number.

 The argument will be set by the function.
 The argument can be NULL.
 The called function takes ownership of the data, and is responsible for freeing it.
error GError **
  The return location for a GError*, or NULL.

Return value

Returns: gboolean

TRUE if str was a number, otherwise FALSE.