#include <stdio.h>/* write a function that converts a numeric string to a number corresponding to the string (including positive floating-point numbers, negative floating-point numbers) For example: "12.34" returns 12.34 "123.34" Return-123.34 function prototype: Double my_atof (char *str) {}*/double my_atof (char *str) {double m=0,n=0,x=1;int flag=1;int flag2=0;if (* str== '-') //judging plus or minus {flag2=1;str++;} while (*str!= ') {if (*str< ' 0 ' | | *str > ' 9 ') {if (*str = = '. ') Judge before and after the decimal point {flag=0;str++;continue;} return 0;} if (flag==1) //decimal point before integer part {m*=10;m+=*str-' 0 ';} else //Fractional part {x*=0.1;n+=x* (*str-' 0 ');} str++;} if (flag2==0) return m+n;else return (m+n) *-1;} int main () {char s[100]={0};scanf ("%s", s);p rintf ("%f\n", My_atof (s)); return 0;}
"C Language" converts a numeric string to a number corresponding to this string (including positive floating-point numbers, negative floating-point numbers)