睡醒还困 2021-06-27 15:04 采纳率: 50%
浏览 8

科学计数法真数部分输出位数

#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吗

  • 写回答

1条回答 默认 最新

  • 「已注销」 2023-03-16 10:20
    关注

    参考GPT和自己的思路:

    可以通过设置输出流的控制符来去掉输出中的前导零。具体方法是将控制符std::showpoint从输出流中移除,即可实现去掉前导零的效果。修改代码如下所示:

    cout << "volum ="<< fixed << setprecision(6) << showpos << scientific << v << endl;

    其中,加上showpos的作用是输出正数时显示正号。去掉std::showpoint之后,输出的真数部分就不会带有前导零了。

    评论

报告相同问题?