前言
在c++中总会需要出现一些情况,需要你固定输出几位数/固定输出小数点后几位数,在这种情况下,在c++中可以利用以下方法
科学计数法
在定义数据为double类型时,输出数据时,当输出数据到达第七位时就会以科学计数法的形式输出
#include<bits/stdc++.h>
using namespace std;
int main()
{
while(1)
{
double n;
cin>>n;
cout<<n << ' ';
}
}
输出结果如下:
fixed
fixed在官方给出的定义是
write floating-point values in fixed-point notation
(以定点表示法写入浮点值)
所以此处第一个用法就是解决浮点数输出科学计数法问题,在刚刚的代码中加入该用法
while(1)
{
double n;
cin>>n;
cout<<n << ' ';
cout<<fixed<<n<<endl;
}
此时输出结果如图
输入输出两次发现,在第一次输出的时候,直接输出n,还是科学计数法,然后用了该函数就可以直接输出了,在第二次输出的时候,发现直接输出就不是科学计数法了。
这是因为,在第一次使用fixed后,会直接改变该double的状态,所以在该次代码运行后之后的输出情况都是受fixed影响的
setprecision
当我们需要输出固定小数点位数时可以用这个与fixed结合
while(1)
{
double n;
cin>>n;
cout<<n << ' ';
cout<<fixed<<setprecision(2)<<n<<endl;
}