float f6=51.232f; printf("%f\n",f6);
这个的输出结果默认保留小数点六位,结果是51.231998,这个默认的六位不管你限制输出与否,里面只保留了六位,如果你限制输出到七位(%.7f),那么输出的结果是前五位准确,后面的数是近似值。
例如:
#include<stdio.h> int main(){ float f5=51.23232366342f; printf("%.7f\n",f5); }
结果如下:
限制输出不仅可以这样
printf("%.2f\n",f);
还可以这样
printf("%.*lf",2,f);
都是表达的是保留两位小数
还想再强调一下,这个六位是特殊,还需要研究,或许对于我一个马上大三的学生来说,了解到这里就够了,但我想继续研究。
再就是double类型的值,或许可以和这个类比一下。等下再看看double类型的值。
类比一下double
我去试了一下的,类比推理成功,double自动保留的是12位。和float其他一样的