我有字符串temp[256]
,里面有一个双数,诸如此类0.125
,虽然有时它得到的数字对于双数来说太大了,比如0.888888888888888888888888888888888888888883
,而双数只包含 7 个数字而不是全部。
我一直在使用atof
将字符串转换为双精度,但我认为问题出在这里的双精度,因为它没有足够的空间容纳所有数字......这就是我写的:
char temp[256]; // Has the number inside it
double temp_num = 0; // need to put the string inside this variable
temp_num = atof(temp);
printf ("%f\n", temp_num);
只要数字不大于零后的 7 位数字,打印的输出就可以了,但如果它是0.8815818188888888888888888888888888888888888888888143
一个8815818
像整数...所以我想我需要一个更大的变量?