float输出显示的变化

img

img

img

img

为啥这两个输出不一样

小数部分0太多,就自动用科学计数法了

float a=5.0001f, b=5.0002f;

当然不一样了,输入值不一样,一个是5.0001,5.0002,三个0,结果是科学计数法,一个是5.001、5.002,就平时结果

加上std::fixed

#include <iostream>
#include <iomanip>

using namespace std;

int main()
{
    float a = 5.0001, b = 5.0002;
    cout << fixed << setprecision(8) << b - a << endl;
    return 0;
}

想知道为什么0的个数会影响输出方式

系统自动设置的