C++控制浮点数有效数字位数、小数点位数

对一个浮点型数字保留两位小数并输出:

#include <iomanip>
#include<iostream>
using namespace std;
int main(){
float a = 123.666;
cout<<setiosflags(ios::fixed)<<setprecision(2)<<a;
}

输出结果是123.67
这里要注意,单独用setprecision(2)是保留两位有效数字,会输出1.2e+002

也可以在字符串中进行保留小数位的操作

#include<sstream>
#include <iomanip>
#include<iostream>
using namespace std;
int main(){
ostringstream oss;
float a=123.666;
oss<<setiosflags(ios::fixed)<<setprecision(2)<<a<<endl;
string s=oss.str();
cout<<s;}

输出结果是123.67
这种方法可用于字符串添加多次保留一定小数位的浮点型数。
这里还要注意,

setiosflags(ios::fixed)<<setprecision(2)

对后续所有输出都起作用,而不是仅对后一个对象起作用。

    原文作者:Yuta233
    原文地址: https://blog.csdn.net/Yuta233/article/details/79055667
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞