函数
GLibascii_strtod
声明 [源代码]
gdouble
g_ascii_strtod (
const gchar* nptr,
gchar** endptr
)
说明 [源代码]
将字符串转换为浮点数。
此函数的行为与 C 语言环境中的标准 strtod()
函数类似。它会在不实际更改当前语言环境的情况下执行此操作,因为这在多线程环境中是不安全的。此实现的局限性在于此函数仍接受无穷性和无穷大值的本地化版本。
此函数通常用于读取配置文件或其他非用户输入(这些输入应独立于语言环境)。要处理用户的输入,通常应使用对语言环境敏感的系统 strtod()
函数。
如需以独立于语言环境的方式将 gdouble 转换为字符串,请使用 g_ascii_dtostr()
。
如果正确的值会导致溢出,则返回正或负 HUGE_VAL
(根据值的符号),并将 ERANGE
存储在 errno
中。如果正确的值会导致下溢,则返回零并将 ERANGE
存储在 errno
中。
此函数会在调用 strtod()
之前重置 errno
,这样你才能可靠地检测到溢出和下溢。