converting string to a double variable in C
atof, c, double, string
Solution
Use `sscanf` (header `stdio.h` or `cstdio` in C++):
char str[] = "12345.56";
double d;
sscanf(str, "%lf", &d);
printf("%lf", d);
Problem
I have written the following code. It should convert a string like `"88"` to double value `88` and print it ``` void convertType(char* value) { int i = 0; char ch; double ret = 0; while((ch = value[i])!= '\0') { ret = ret*10 + (ch - '0'); i++; } printf("%d",ret); //or %lf.. } // input string :88 ``` But it always prints `0`. But when I change type of ret to `int`, it works fine. When the type is `float` or `double`, it prints `0`. So why am I getting these ambiguous results?