首页 > 代码库 > 小数点输出精度控制问题?.xml

小数点输出精度控制问题?.xml

<style type="text/css"> pre{ line-height:1; color:#9f1d66; background-color:#d2d2d2; font-size:16px;}.sysFunc{color:#5d57ff;font-style:italic;font-weight:bold;} .selfFuc{color:#8e0ed3;} .bool{color:#008000;} .condition{color:#008000;font-weight:bold;} .key{color:#440080;} .var{color:#008000;font-style:italic;} .Digit{color:#000080;font-weight:bold;} .includePre{color:#661d9f;} .operator?{color:#fd1a53;font-weight:bold;} </style>

setf()是追加标志字的函数,而flags()是设置标志字
?
fixed标志是以定点形式显示浮点数
?
?

当有fixed标志时,说明数据按一定的位数输出,否则去掉fixed标志后,数据按原位输出---即小数最后面的0不显示

因此,使用时有两种情况:

(1)原位输出,这时应去掉fixed标志:?cout。unsetf(ios::fixed)

?
?????如0.1?便会输出0.1
?

(2)设置小数点后的输出位数

?
????????分两步:
??????????????????????第一步---------???设置定位输出?cout。setf(ios::fixed)
?
??????????????????????第二步---------???设置输出精度?cout.precision(4)
?
?

如下面程序:

?
?

 

????#include?<iostream.h>??
????#include?<iomanip.h>??
????void?main(void)??
????{??
????cout.setf(ios::fixed);??
????cout<<setprecision(2)<<(float)0.1<<endl;//输出0.10??
????cout.unsetf(ios::fixed);??
????cout<<setprecision(2)<<(float)0.1<<endl;?//输出0.1??
????}??
?
?
?

????fout<<rs<<‘/t‘<<‘/t‘<<dr_mean<<"(";??
??????
????fout.setf(ios::fixed);??
??????
?????fout<<dr_sd<<")"<<endl;??
??????
????fout.unsetf(ios::fixed);??
??????
?????fout<<‘/t‘<<‘/t‘<<mature_mean<<"(";??
??????
????fout.setf(ios::fixed);??
????fout.precision(4);??
??????????????????
????fout<<mature_sd<<")"<<endl;??
??????
????fout.unsetf(ios::fixed);??
??????
?????fout<<‘/t‘<<‘/t‘<<cost_mean<<"(";??
??????
??????
????fout.setf(ios::fixed);??
????fout.precision(6);??
??????
??????
?????fout<<cost_sd<<")"<<endl;??
??????
?????fout.unsetf(ios::fixed);??
?

输出结果如下:

0.998836---原位?(0.000000)---六位

2746.2---原位

(99.7445)--四位

3.152--原位

(0.015522)--六位

本文使用?书画小说软件?发布,内容与软件无关,书画小说软件?更惬意的读、更舒心的写、更轻松的发布。

小数点输出精度控制问题?.xml