Humanity

Edit the world by your favorite way

string2double

使わなくなったので晒し。
元はman strtolからパクったんだったと思う。

bool
string2double(char *str, double *digit)
{
    char *end_ptr;

    errno = 0;
    *digit = strtod(str, &end_ptr);

    if (errno == ERANGE || (errno != 0 && *digit == 0)) {
        return false;
    }
    if (end_ptr == str) {
        return false;
    }
    if (*end_ptr != '\0') {
        return false;
    }
    return true;
}