我正在阅读包含以下内容的文本文件:
Mary 55334422 24.90 56.6 45.68
我正在阅读:
....char name[20]; int num; double worked; double rate; double total;....
fscanf(fp, "%s %d %f %f %f\n", name, &num, &worked, &rate, &total);
我得到的名称和整数都很好,但是浮点数就像-95229999900000000000000000000.00
我在这里做错了吗?
答案 0 :(得分:13)
您需要使用format for a double:%lf
,而不是使用浮动%f
...或更改为浮点数而不是双打。
答案 1 :(得分:5)
尝试lf
而不是f
来解析为双变量:
fscanf(fp, "%s %d %lf %lf %lf\n", name, &num, &worked, &rate, &total);
答案 2 :(得分:1)
将您的双打更改为浮点数,或将格式更改为%lf