Create your own function to convert string to double - C String

C examples for String:String Function

Description

Create your own function to convert string to double

Demo Code

#include <stdio.h>

#define MAXLINE 100//  w w  w.j  av  a 2  s. c  o m
#include <ctype.h>

/* atof:  convert string s to double */
double atof(char s[])
{
    double val, power;
    int i, sign;

    for (i = 0; isspace(s[i]); i++)  /* skip white space */
        ;
    sign = (s[i] == '-') ? -1 : 1;
    if (s[i] == '+' || s[i] == '-')
        i++; 
    for (val = 0.0; isdigit(s[i]); i++)
        val = 10.0 * val + (s[i] - '0');
    if (s[i] == '.')
        i++;
    for (power = 1.0; isdigit(s[i]); i++) {
        val = 10.0 * val + (s[i] - '0');
        power *= 10.0;
    }
    return sign * val / power;
}

int main()
{
    double sum, atof(char []);
    char line[MAXLINE] = "124.123";

    sum = 0;
    
    printf("\t%g\n", sum += atof(line));
    return 0;
}

Result


Related Tutorials