function ascii_strtod(nptr: String, endptr: String): Number(gdouble) {
    // Gjs wrapper for g_ascii_strtod()

Converts a string to a #gdouble value.

This function behaves like the standard strtod() function does in the C locale. It does this without actually changing the current locale, since that would not be thread-safe. A limitation of the implementation is that this function will still accept localized versions of infinities and NANs.

This function is typically used when reading configuration files or other non-user input that should be locale independent. To handle input from the user you should normally use the locale-sensitive system strtod() function.

To convert from a #gdouble to a string in a locale-insensitive way, use GLib.ascii_dtostr.

If the correct value would cause overflow, plus or minus %HUGE_VAL is returned (according to the sign of the value), and %ERANGE is stored in %errno. If the correct value would cause underflow, zero is returned and %ERANGE is stored in %errno.

This function resets %errno before calling strtod() so that you can reliably detect overflow and underflow.


the string to convert to a numeric value.


if non-null, it returns the character after the last character used in the conversion.


the #gdouble value.