为什么c语言编程float算出来有很多0

2022-08-06 社会 268阅读

这不是“算出来”的问题,是输出函数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;
}

输出如下图:

声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com