#include <stdio.h>
#include <stdlib.h>
#include <math.h>
float str_to_float(char *);
void float_to_str(float,char *);
int main(){
int max_size;
float x;
char *arr;
printf("Enter max size of string : "); arr
=malloc((max_size
+1)*sizeof(char)); x=str_to_float(arr);
return 0;
}
float str_to_float(char *arr){
int i,j,flag;
float val;
char c;
i=0;
j=0;
val=0;
flag=0;
while ((c = *(arr+i))!='\0'){
// if ((c<'0')||(c>'9')) return 0;
if (c!='.'){
val =(val*10)+(c-'0');
if (flag == 1){
--j;
}
}
if (c=='.'){ if (flag == 1) return 0; flag=1;}
++i;
}
return val;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPG1hdGguaD4KCmZsb2F0IHN0cl90b19mbG9hdChjaGFyICopOwp2b2lkIGZsb2F0X3RvX3N0cihmbG9hdCxjaGFyICopOwoKaW50IG1haW4oKXsKCWludCBtYXhfc2l6ZTsKCWZsb2F0IHg7CgljaGFyICphcnI7CglwcmludGYoIkVudGVyIG1heCBzaXplIG9mIHN0cmluZyA6ICIpOwoJc2NhbmYoIiVkIiwmbWF4X3NpemUpOwoJYXJyPW1hbGxvYygobWF4X3NpemUrMSkqc2l6ZW9mKGNoYXIpKTsKCXNjYW5mKCIlcyIsYXJyKTsKCXg9c3RyX3RvX2Zsb2F0KGFycik7CglwcmludGYoIiVmXG4lZiIseCxhdG9mKGFycikpOwoJcmV0dXJuIDA7Cn0KCmZsb2F0IHN0cl90b19mbG9hdChjaGFyICphcnIpewoJaW50IGksaixmbGFnOwoJZmxvYXQgdmFsOwoJY2hhciBjOwoJaT0wOwoJaj0wOwoJdmFsPTA7CglmbGFnPTA7Cgl3aGlsZSAoKGMgPSAqKGFycitpKSkhPSdcMCcpewovLwkJaWYgKChjPCcwJyl8fChjPic5JykpIHJldHVybiAwOwoJCWlmIChjIT0nLicpewoJCQl2YWwgPSh2YWwqMTApKyhjLScwJyk7CgkJCWlmIChmbGFnID09IDEpewoJCQkJLS1qOwoJCQl9CgkJfQoJCWlmIChjPT0nLicpeyBpZiAoZmxhZyA9PSAxKSByZXR1cm4gMDsgZmxhZz0xO30KCQkrK2k7Cgl9CiAgICB2YWwgPSB2YWwqcG93KDEwLGopOwoJcmV0dXJuIHZhbDsKfQ==