C++保留小数点后几位&科学计数法
程序员文章站
2023-12-29 11:35:52
先简述在C里保留小数点的方法#includeint main(){double a=456.2345677;printf(" %.2lf\n",a);//输出后2位printf(" %lf\n",a); //小数点后全输出printf("%.8lf\n",a); //后八位 return 0;}//输出结果456.23456.234568456.23456770Program ended with exit code: 0现在...
先简述在C里保留小数点的方法
#include<stdio.h>
int main()
{
double a=456.2345677;
printf(" %.2lf\n",a);//输出后2位
printf(" %lf\n",a); //小数点后全输出
printf("%.8lf\n",a); //后八位
return 0;
}
//输出结果
456.23
456.234568
456.23456770
Program ended with exit code: 0
现在来说C++里的
#include <iomanip>//头文件别忘了哦!
最厉害的一种
写一次后面都会输出小数点
double a=123.12345678,b=456.34567;
cout<<setiosflags(ios::fixed)<<setprecision(3);
cout<<a<<endl;
cout<<b<<endl;
//输出
123.123
456.346
最简洁的一种
可是在b没有小数点后五位的时候,它不能加上0作为后缀
double a=123.12345678,b=456.34;
cout<<setprecision(5)<<a<<endl;
cout<<setprecision(5)<<b<<endl;
//输出
123.12346
456.34
最中庸的三种
cout<<setiosflags(ios::fixed); cout<<setprecision(3)<<a<<endl;
cout.setf(ios::fixed);
cout<<setprecision(2)<<b<<endl;
cout<<fixed;
cout<<setprecision(4)<<a<<endl;
//输出
123.123
456.35
123.1235
p.s.以上每一种都有四舍五入的功能
科学计数法(这次先说C++的)
en可以代表为10^n
double a=3e5//a=3*10^5=300000
接下来输出一个没有被科学计数的doubled的10^4的变量(貌似在Xcode里10^6以上就会直接转换成科学计数法)
#include //头文件别忘了哦!
#include<iostream>
#include <iomanip>//头文件
using namespace std;
int main()
{
double sum=1,sum1=1,b=12345;
for(int i=1;i<=30;i++)
{
sum1*=i;
sum+=sum1;
}
cout<<sum<<endl;
cout<<b<<endl;
cout<<setiosflags(ios::scientific)<<setprecision(2)<<b<<endl;
}
//输出
2.74411e+32
12345
1.23e+04
在C里
直接在输出的时候用%e就可,关于小数点请参照最上一栏
int main()
{
double sum=1,sum1=1,b=12345;
for(int i=1;i<=30;i++)
{
sum1*=i;
sum+=sum1;
}
printf("%.2e %e\n",sum,b);
}
//输出
2.74e+32 1.234500e+04
Program ended with exit code: 0
本文地址:https://blog.csdn.net/caarrrrite/article/details/107131246