这不是“算出来”的问题,是输出函数printf的控制符用得不合适:%f的作用是按浮点型输出,默认保留6位小数,不足6位的后面用0补齐。想要不输出小数点后多余的0,用%g控制就可以了,它是所谓紧凑型输出,默认有效数字7位(连小数点)左对齐,在此范围内,小数点的实际有效位是多少就输出多少。举例代码如下:
//#include "stdafx.h"//If the vc++6.0, with this line.
#include "stdio.h"
int main(void){
float a=123.456789111f,b=4.5020000f;
printf("通常输出:%f %f\n",a,b);
printf("紧凑输出:%g %g\n",a,b);
return 0;
}
输出如下图: