首先 需要有#include<iomanip>这个头文件,因为它是输出输出流的格式控制

#include<iomanip> // 用于调用setprecision(n)
1 double  sum=10;
2 cout<<setiosflags(ios::fixed)<<setprecision(1)<<sum;

示例1

 1 /*
2 功能:计算圆的面积
3 输入:圆的半径(实数:>=0)
4 输出:圆的面积(实数: 保留8位小数)
5 */
6 #include <cmath> // 通用函数调用的头文件 acos(x)
7 #include <iomanip> // 用于调用setprecision(n)
8 #include <iostream>
9 using namespace std;
10
11 const double pi = 2 * acos(0); // 精确计算圆周率pi
12
13 // 定义计算圆面积的函数
14 inline double area(double r)
15 {
16 return pi * r * r; // 注意计算圆面积的表达式
17 }
18
19 int main( )
20 {
21
22 double r; // 用于保存输入的半径
23
24 cout << "请输入圆的半径:";
25 cin >> r;
26
27 cout << fixed << setprecision(8) // 设置输出格式,精确到小数点后8位
28 << "圆的面积为 "
29 << area(r) << endl; // 调用函数area,不用加类型double
30
31 //上面提到的fixed,表示普通方式输出,不采用科学计数法。fixed也可以放在setprecision(n)后面
32 }

结果:

示例2:

#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
double r = 10; cout<<"r的一般输出为:"<<r<<endl; cout<<fixed<<setprecision(8)<<"r保留8位有效数字输出为:"<<r<<endl;
cout<<"12345保留8位有效数字输出为:"<<12345.0<<'\n'<<endl; //延续上条命令位数 cout << setprecision (4);
cout.setf(ios::fixed,ios::floatfield); //ios_base::fixed是设置cout为定点输出格式
cout <<"123.45678901保留4位有效数字输出为:"<< 123.45678901<<'\n'<<endl; //ios_base::floatfield是设置输出时按浮点格式,小数点后有8位数字 }

结果:

c++中输出小数的更多相关文章

  1. Java中输出小数点后几位

    笔试时候,遇到让你写输出小数点后几位,当时很是头疼,下来后,查了查发现,没什么难的.网上有各种情况都讨论了(一般分为4种),在这里我着重讨论一下比较实用,比较简单,比较方便操作的几种: 1 publi ...

  2. C++中输出 位宽和小数点后位数 的控制

    要用到这个头文件: <iomanip> setw(x) : 表示控制输出x的位宽 setprecision(x) :表示 控制输出小数点后 x 位 cout.precision(x): 表 ...

  3. 妥协与取舍,解构C#中的小数运算

    题外话 正文开始之前,我首先要感谢博客园提供的这个优秀的平台.通过在这个优秀的平台上和很多志同道合的朋友交流,互相帮助,我也很荣幸的获得了15年的微软MVP的奖项.也使我更加坚信了代码改变世界.感激! ...

  4. JAVA中的小数

    JAVA中的小数称为浮点数 1.有两种类型: float:单精度浮点数.4个字节. double:双精度浮点数.8个字节. 2.类型转换 容量小  -------------------------- ...

  5. shell单引号中输出参数值

    因为在shell的单引号中,所有的特殊字符和变量都会变成文本,那么如果需要在字符串中输出变量值怎么办呢? 这里记录以下两种方法: 使用双引号 shell> X='parameter' shell ...

  6. python3中输出不换行

    python2中输出默认是换行的,为了抑制换行,是这么做的: print x, 到了python3中,print变成一个函数,这种语法便行不通了.用2to3工具转换了下,变成这样了: print(x, ...

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

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

  8. 在 ASP.NET MVC Web 应用程序中输出 RSS Feeds

    RSS全称Really Simple Syndication.一些更新频率较高的网站可以通过RSS让订阅者快速获取更新信息.RSS文档需遵守XML规范的,其中必需包含标题.链接.描述信息,还可以包含发 ...

  9. 在JSP页面中输出JSON格式数据

    JSON-taglib是一套使在JSP页面中输出JSON格式数据的标签库. JSON-taglib主页: http://json-taglib.sourceforge.net/index.html J ...

  10. MVC中如何在controller的action中输出JS到页面上

    MVC中如何在controller的action中输出JS到页面上 可以通过Http上下文对象(httpContext)就可以了,在Action中的HttpContext就是这个Action所指向的页 ...

随机推荐

  1. Deepin20系统开机报错——You are in emergency mode ... Cannot open access to console, the root account is locked. emergency mode/“journalctl -xb”

    参考: https://knowledge.ipason.com/ipKnowledge/knowledgedetail.html/1286 https://blog.csdn.net/wenfei1 ...

  2. ubuntu22.04下安装nvidia-docker

    首先需要保证docker engine已经安装成功,具体见: https://www.cnblogs.com/devilmaycry812839668/p/17269122.html ======== ...

  3. 9.150 Predefined macros

    9.150 Predefined macros The ARM compiler predefines a number of macros. These macros provide informa ...

  4. 一文教你如何用C代码解析一段网络数据包?【含代码】

    本文的目的是通过随机截取的一段网络数据包,然后根据协议类型来解析出这段内存. 学习本文需要掌握的基础知识: 网络协议 C语言 Linux操作 抓包工具的使用 其中抓包工具的安装和使用见下文: < ...

  5. 【CMake系列】10-cmake测试 ctest

    cmake作为一个强大的构建系统指导工具,同时也提供了测试功能,可用于项目的单元测试等,也可以与其他测试框架协作,如googletest,共同完成项目开发中的测试工作,本节我们就来学习 如何借助cma ...

  6. 初三奥赛模拟测试1--T1回文

    初三奥赛模拟测试1--\(T1\)回文 HZOI 题意 给定一个 \(n \times m\) 的,由字符组成的矩阵 \(A\) , 问你由 \(( 1 , 1 )\) 开始,点 \(( i , j ...

  7. Ubuntu 安裝 VMware Workstation Pro

    安装 下载依赖: # Ubuntu 22.04 及以前 sudo apt install libaio1 # Ubuntu 24.04 及以后 sudo apt install libaio1t64 ...

  8. 常用 DNS 查询速度测试

    测试工具 DNS-Benchmark | GitHub 总结 进过多轮测试,我认为: 223.5.5.5 和 223.6.6.6 平均响应时间最短(223.5.5.5 在教育网内疑似无法连通) 114 ...

  9. 为什么MySQL 默认隔离级别是RR,又被阿里设置为RC

    我们知道,我们可以通过这个命令查看数据库当前的隔离级别,MySQL 默认隔离级别是RR. select @@tx_isolation; ANSI/ISO SQL定义的标准隔离级别有四种,从高到底依次为 ...

  10. C++ std::shared_ptr自定义allocator引入内存池

    当C++项目里做了大量的动态内存分配与释放,可能会导致内存碎片,使系统性能降低.当动态内存分配的开销变得不容忽视时,一种解决办法是一次从操作系统分配一块大的静态内存作为内存池进行手动管理,堆对象内存分 ...