c++指定输出小数的精度

在c++中,有的时候要对输出的double型或float型保留几位小数,这时可以使用setflags(ios::fixed),不过要先包含有文件<iomainp>,具体如下 

例:

#include<iomainp>

double d=3.12345;    //输出d并保留两位小数

cout<<setflaf(ios::fixed)<<setprecision(2)<<d;  

也可以写成:cout<<setflaf(ios::fixed);

                      cout<<setprecision(2)<<d;

这两种形式的效果是一样的,不过都要明确函数setprecision( )中的参数,参数即精度,在本例中保留两位小数,并且保留小数的时候是按照

四舍五入的方式实现的,本例中的输出结果为:3.12 ;假如输出的d要保留四位小数,可以这样写:

int n=4;

cout<<setflaf(ios::fixed)<<setprecision(n);

输出结果为:3.1235  (四舍五入)

在没有 setflaf(ios::fixed) 时,输出格式是数据的有效位,如:cout<<setprecision(4)<<d;输出结果为:3.123。保留四个有效位,会自动四舍五入。

原文地址:https://www.cnblogs.com/buanxu/p/12750623.html