C++里怎么保留有效数字?
2012-04-17 · 知道合伙人软件行家
关注
展开全部
VC++里面
float有7~8有效数字
double有15~16有效数字
long double有18~19有效数字
定义
double i=0.937546545345;
如果用
printf("%f\n",i);只会输出小数点6位0.937546
如果用
char a[20]="";
gcvt(i,18,a);
puts(a);会输出0.937546545345
如果超出18位,数据会丢失。但如果是计算时数据很大,这种方法会用科学技术发显示,
即形如aEb.
float有7~8有效数字
double有15~16有效数字
long double有18~19有效数字
定义
double i=0.937546545345;
如果用
printf("%f\n",i);只会输出小数点6位0.937546
如果用
char a[20]="";
gcvt(i,18,a);
puts(a);会输出0.937546545345
如果超出18位,数据会丢失。但如果是计算时数据很大,这种方法会用科学技术发显示,
即形如aEb.
展开全部
输出的时候比如输出整形保留两位小数,格式修饰幅就是%.2d ,点后面的数字是几就表示保留几位
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C++里保留有效数字要如下操作
首先包含:
#include <iomanip>
cout<<setiosflag(ios::fixed) //表示要按照指定的小数位数或有效数字位数输出
cout<<setprescision(n) // 小数位数,n就是要保留的数字的位数。
具体的可以查看百科里的说明:
http://baike.baidu.com/link?url=EJ3VBg-YlnRf7sVIUg1QRGoqPZbHJ3uRHWp4A18GFHtzS0Uft8XErR_1Zf7xS5FbyzcAdGb_eTtMKBJawdLb_a
首先包含:
#include <iomanip>
cout<<setiosflag(ios::fixed) //表示要按照指定的小数位数或有效数字位数输出
cout<<setprescision(n) // 小数位数,n就是要保留的数字的位数。
具体的可以查看百科里的说明:
http://baike.baidu.com/link?url=EJ3VBg-YlnRf7sVIUg1QRGoqPZbHJ3uRHWp4A18GFHtzS0Uft8XErR_1Zf7xS5FbyzcAdGb_eTtMKBJawdLb_a
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼上的是C语言,在c++里用setprecision(n);这里的n是保留小数位数
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询