#include<bits/stdc++.h>
using namespace std;
int main()
{
float sum=0;
float v=0;
#define CONST 1.42e8
for(int i=1;i<=64;i++)
{
sum=sum+pow(2,i-1);
}
v=sum/CONST;
cout<<"sum ="<<scientific<<setprecision(6)<<sum<<endl;
cout<<"volum ="<<fixed<<setprecision(6)<<scientific<<v;
}
这样会输出 真数部分成了 019 011想问可以去掉这个0吗
参考GPT和自己的思路:
可以通过设置输出流的控制符来去掉输出中的前导零。具体方法是将控制符std::showpoint从输出流中移除,即可实现去掉前导零的效果。修改代码如下所示:
cout << "volum ="<< fixed << setprecision(6) << showpos << scientific << v << endl;
其中,加上showpos的作用是输出正数时显示正号。去掉std::showpoint之后,输出的真数部分就不会带有前导零了。