从C语言开始正式学习C++,但是一上来输出位数就懵了,查资料才知道C++需要使用 “ setprecision  ”函数。自己总结一下。

首先说C++代码

#include <iomanip>  //setprecision(n)函数在 iomanip 头文件中
//第一种写法
	cout<<setiosflags(ios::fixed)<<setprecision(n);

//第二种写法
	cout.setf(ios::fixed);
	cout<<setprecision(2);
//第三种写法

	cout<<fixed<<setprecision(2);
 

要保留几位小数setprecision(n)的括号里n就换成几。

前两种写法是一样的,第三种是简化写的。

上面的语句写一次就行了,对之后的数字都有效。
##  然后说C的代码
  最近了解了一下C语言的输出,毕竟我一个C++入门的人,看不懂C语言的输出hhhhh,可能因为我比较差吧。个人感觉c的输出比较简单粗暴。

%f 格式化输出浮点型数据,在%之后加上“.n”即可。

例如:

#include  <stdio.h>
int main()
{
	float PI=3.1415926;
	float R=5.1;
	printf("面积 = %.2f\n", PI * R * R); //输出:面积 = 81.71
	printf("面积 = %f\n", PI * R * R);   //输出:面积 = 81.712814
	printf("面积 = %.8f\n", PI * R * R); //输出:面积 = 81.71281433
        return 0;
}

  

  • %.2f\n中的“.2”即保留两位小数
  • //不设定保留几位小数,则默认六位

如果单纯会用就行,看到这里就可以了!

-------------------------------------------------------------------------------------------------------------------------------

想深入理解的,继续看下面

1.首先解释一下“语句写一次就行了,对之后的数字都有效”。在s之后设置保留两位小数之后,重新声明另一个数,输出依旧显示两位小数。所以设置精度语句只需写一次就可以了。

 #include <iostream>
 #include <iomanip>   //设置必备的头文件
 using namespace std;
 int main()
 {
     double s=12.345;
     cout<<setiosflags(ios::);
     cout<<s<<endl;   //输出12.35

     float pi=3.14159;
     cout<<pi<<endl;   //输出3.14

     ;
 }

2.setprecision(n)
   功能:控制浮点数显示的有效数字个数。

3.fixed
  setprecision(n)和fixed合用的话可以控制小数点后有几位。
  只要加上以下任意一个语句就可以。

cout<<setiosflags(ios::fixed);
cout.setf(ios::fixed);
cout<fixed;

然后你会发现,如果你要保留的位数多于数字原来的小数,就会补上0。

C / C++ 保留小数函数(setprecision(n)的一些用法总结)的更多相关文章

  1. php number_format()保留小数点后几位有效数的函数 千位分组来格式化数字(转)

    PHP保留小数点后2位的函数number_format number_format(带小数点的书,小数点后保留的位数) number_format(8.3486,2);  //取得小数点后2位有效数/ ...

  2. js 四舍五入函数 toFixed(),里面的参数 就是保留小数的位数。

    js 四舍五入函数 toFixed(),里面的参数 就是保留小数的位数. <script language="javascript"> document.write(& ...

  3. java实验三——求平均数,数组排序(有关java保留小数位数,由于编译器版本未到1.5导致的报错format函数第二个参数不对,要求是Object[])

    package hello; import java.util.Arrays; public class 实验三更正版 { public static void main(String[] args) ...

  4. 关于js开发中保留小数位计算函数(以向上取整或向下取整的方式保留小数)

    前端工作中经常遇到数字计算保留小数问题,由于不是四舍五入的方式不能使用toFixed函数,本文采用正则表达式匹配字符串的方式,解决对数字的向上或向下保留小数问题: 1.向上保留小数(只要目标小数位后有 ...

  5. C++ cout 如何保留小数输出

    参考 : http://upliu.net/how-cout-out-2-precision.html 大家都知道用 C 语言中 printf () 函数可以非常方便控制保留 几位小数输出 不过在 C ...

  6. c++保留小数问题,如有不足或错误,欢迎指出

    #include<iostream> #include <iomanip> using namespace std; int main() { double a; cin> ...

  7. php number_format()保留小数点后几位

    [PHP_保留两位小数的相关函数] php保留两位小数并且四舍五入 Php代码   1     $num = 123213.666666;  2     echo sprintf("%.2f ...

  8. js保留小数点后N位的方法介绍

    js保留小数点后N位的方法介绍 利用toFixed函数 代码如下 复制代码 <script language="javascript"> document.write( ...

  9. Js 和 PHP 中保留小数点后X位数的方法 toFixed、round、number_format、sprintf

    在 Javacript 中保留小数点后两位数的方法为 toFixed(2),其中的2为保留两位,写多少就保留多少了,满5进1. Javacript例子: var num = 24.54789523; ...

随机推荐

  1. 树状数组(Binary Index Tree)

    一维BIT(单点更新,区间求和): Problem - 1166 #include <iostream> #include <algorithm> #include <c ...

  2. mybatis-generator1.3.6的使用

    下载地址: http://blog.mybatis.org/2017/12/mybatis-generator-version-136-released.html 参考了 http://blog.cs ...

  3. Python--day67--内容回顾

  4. X Samara Regional Intercollegiate Programming Contest

    A. Streets of Working Lanterns - 2 对于每个括号序列,存在一个\(mv\),表示要接上这个序列至少需要\(-mv\)个左括号,同时处理出接上这个序列后,左括号数量的增 ...

  5. while循环计算1-100和,1-100内偶数/奇数/被整除的数的和

    文章地址 https://www.cnblogs.com/sandraryan/ <!DOCTYPE html> <html lang="en"> < ...

  6. [转]java常用正则表达式

    只能输入数字:"^[0-9]*$".  只能输入n位的数字:"^\d{n}$".  只能输入至少n位的数字:"^\d{n,}$".  只能输 ...

  7. H3C 不适当的VLAN间路由方式

  8. C# 如何给 ValueTuple 返回值添加注释

    在 C# 7.0 可以在一个方法的返回,返回多个参数,通过 ValueTuple 的方法,但是和单个参数返回不同的是,如何对多个参数返回每个参数进行单独的注释? 如使用下面的代码,我尝试在一个方法返回 ...

  9. koa2--06.koa-static中间件的使用

    koa-static中间件,主要用于设置静态文件资源的文件路径 首先安装koa-static中间,以下是代码示例 const koa = require('koa'); var router = re ...

  10. 研发环境容器化实施过程(docker + docker-compose + jenkins)

    目录 背景介绍 改造思路 容器构建 基础准备 中间件容器 外部依赖容器 业务应用容器 容器整合 自动构建容器 Maven相关 非Maven项目 总结 背景介绍 目前公司内部系统(代号GMS)研发团队, ...