C++中怎么控制小数的位数

 我来答
爱教育爱学习
高粉答主

2019-11-13 · 学而不思则罔,思而不学则殆
爱教育爱学习
采纳数:384 获赞数:112730

向TA提问 私信TA
展开全部

#include<iostream>

#include"math.h"

#include<iomanip>

usingnamespacestd;

intmain(){

intm;

doublen,sum=0;

//intqiuhe(inti,intn);

cin>>n>>m;

//a=n;

for(inti=0;i<m;i++){

sum+=n;

n=sqrt(n);

}

cout<<fixed<<setprecision(2)<<sum;//控制小数点后两位输出

return0;

}

扩展资料

C++控制小数点后的精度

#include"stdafx.h"

#include<iostream>

#include<iomanip>

usingnamespacestd;

intmain()

{

floatvalue=324.79213;

cout<<setprecision(4)<<value<<endl;

cout<<fixed<<setprecision(4)<<value<<endl;

getchar();

getchar();

return0;

}

szwpvz
2017-01-21 · TA获得超过640个赞
知道小有建树答主
回答量:374
采纳率:0%
帮助的人:252万
展开全部

如果要在程序中对一个浮点数变量进行四舍五入到小数点后d位,可以这么写:

#include <cmath>
template<typename real>
inline real round(const real &n,const size_t &d)
{
   return (long long)((long double)n*pow(10,d))/pow(10,d);
}

如果要输出一个精确到小数点后d位的浮点数,可以这么写:

#include <cstdio>
int main()
{
   //...
   float x; printf("%.3f\n",x);
   //输出float类型的变量x四舍五入到小数点后3位的值
   double y; printf("%.4lf\n",y);
   //输出double类型的变量y四舍五入到小数点后4位的值
   long double z; printf("%.5Lf\n",z);
   //输出long double类型的变量z四舍五入到小数点后5位的值
   //另外注意,32位windows平台对long double的stdio不是很支持
   return 0;
}

或者:

#include <iomanip>
#include <iostream>
int main()
{
   //...
   float x; double y; long double z;
   std::cout<<setiosflags(ios::fixed)<<setprecision(3)<<x<<endl;
   //输出float类型的变量x四舍五入到小数点后3位的值
   std::cout<<setiosflags(ios::fixed)<<setprecision(4)<<y<<endl;
   //输出double类型的变量y四舍五入到小数点后4位的值
   std::cout<<setiosflags(ios::fixed)<<setprecision(5)<<z<<endl;
   //输出long double类型的变量z四舍五入到小数点后5位的值
   //可以看到,namespace std下的iostream的兼容性十分优越
   return 0;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式