【发布时间】:2013-01-28 19:17:11
【问题描述】:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void)
{
FILE *file;
double n;
file = fopen("fp.source", "r");
while(!feof(file)) {
fscanf(file, "%lf", &n);
printf("Next double:\"%lf\"\n", n);
}
fclose(file);
return 0;
}
您好,我正在尝试扫描浮点数并且我已经让它工作了,但是我得到了我不想要的尾随零。有没有办法避免这种情况?例如,我得到的当前输出是: 下一个双倍:“11.540000”
在现实中我想要: 下一个双倍:“11.54”
【问题讨论】:
-
这不是扫描的问题。这是printf formatting 的问题。
-
好吧,我尝试使用 %F 打印,但仍然得到尾随零
-
为什么不直接使用
ciel()或floor()函数? -
因为我需要整数部分后面的 .54 或 .342,所以我不需要尾随零。
-
您错误地使用了
feof:stackoverflow.com/questions/5431941/…