Start with this code:
#include <stdio.h>
int main (void) {
double val;
double val2 = 1e100;
sscanf ("1e100", "%lf", &val);
printf ("%lf\n", val);
printf ("%lf\n", val2);
return 0;
}
It outputs:
10000000000000000159028911097599180468360810000000000...
10000000000000000159028911097599180468360810000000000...
, 1 100 IEEE754. :
#include <stdio.h>
int main (int argc, char *argv[]) {
double val;
int i;
for (i = 1; i < argc; i++) {
sscanf (argv[i], "%lf", &val);
printf (" '%s' -> %e\n", argv[i], val);
}
return 0;
}
sample :
pax$ ./qq 4.1234567e5 4.5e5 3.47e10 3.47e-10
'4.1234567e5' -> 4.123457e+05
'4.5e5' -> 4.500000e+05
'3.47e10' -> 3.470000e+10
'3.47e-10' -> 3.470000e-10