Function
GLibascii_string_to_signed
Declaration
gboolean
g_ascii_string_to_signed (
const gchar* str,
guint base,
gint64 min,
gint64 max,
gint64* out_num,
GError** error
)
Description
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 |
Parameters
str |
const gchar* |
A string. |
|
The data is owned by the caller of the function. | |
The value 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 . | |
error |
GError ** |
The return location for a GError* , or NULL . |