Negative Value

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • mdeh

    #1

    Negative Value

    Hi Everyone,
    Tried to post via Google..which once again seems to be fritzed...so
    please excuse if 2 posts show up.

    I am trying to understand why I am not getting a negative value back,
    using my version of atof

    given the argument "-36.63"

    double atof ( char *s){
    double d = 0.00;
    double sign = 1.00;
    double fractprt = 1.00;
    /* check for neg number */
    if ( *s == '-') {
    sign = -1.00;
    s++;
    }

    while (isadigit(*s)){
    d=d*10.00 + ('0' - *s++);
    }
    if (*s == '.'){
    s++;
    while(isadigit( *s)){
    d=d*10.00 + ('0' - *s++);
    fractprt *=10;
    }
    }

    return (sign * d / fractprt) ;

    }

    I get 36.03, not -36.03.

    Thanks in advance.
Working...