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

时间:2023-02-09 10:01:05

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;}

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)--六位

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