C%f的printf离开6 0';小数点后的数字

C%f的printf离开6 0';小数点后的数字,c,formatting,printf,C,Formatting,Printf,为什么这个输出的末尾有6个0?试图帮助一个朋友,但是,我不太了解C,任何帮助都是感激的=) Output=Mary已经19.000000岁了我看错了你的问题 数字的数量可以控制如下 int main () { float MarysAge; MarysAge = (int) 19.32; printf("Mary is %f years old\n", MarysAge); return 0; } 我看错了你的问题 数字的数量可以控制如下 int main () { float Marys

为什么这个输出的末尾有6个0?试图帮助一个朋友,但是,我不太了解C,任何帮助都是感激的=)


Output=Mary已经19.000000岁了

我看错了你的问题

数字的数量可以控制如下

int main ()
{
float MarysAge;

MarysAge = (int) 19.32;
printf("Mary is %f years old\n", MarysAge);

return 0;
}

我看错了你的问题

数字的数量可以控制如下

int main ()
{
float MarysAge;

MarysAge = (int) 19.32;
printf("Mary is %f years old\n", MarysAge);

return 0;
}

%f的默认精度为6,在点后输出6个数字。 和(int)向下舍入。 前19.32变为19 on(int),
然后在%f上变为19.000000。

默认的%f精度为6,在点后输出6个数字。 和(int)向下舍入。 前19.32变为19 on(int),
然后在%f上变成19.000000。

我猜这是默认值。你到底想要多少?不确定我得问问我朋友想要多少。。。我想他们更多的是在寻找为什么有这么多的0。好吧,你可以看看a来了解如何改变精度。感谢那个参考帮助了很多=)我想这是默认值。你到底想要多少?不确定我得问问我朋友想要多少。。。我想他们更多的是在寻找为什么会有这么多的0。嗯,你可以看看a来了解如何改变精度。感谢这个参考帮助了很多=)句子本身,“使用%d而不是%f”可能会被解释为“使用
printf”(“Mary是%d岁\n”,MarysAge);
其中
MarysAge
属于
float
类型。这不是一个很好的建议。@PascalCuoq同意了。我在重读问题后重述了我的答案:)就其本身而言,“使用%d而不是%f”这句话可能被解释为“使用
printf”(“Mary是%d岁\n,MarysAge);
其中
MarysAge
float
类型。这不是一个很好的建议。@PascalCuoq同意。我重读了问题后重述了我的答案:)