• 04:输出保留3位小数的浮点数


    预计阅读时间:3分钟

    原题

    描述

    读入一个单精度浮点数,保留3位小数输出这个浮点数。

    输入

    只有一行,一个单精度浮点数。

    输出

    也只有一行,读入的单精度浮点数。

    样例输入

    12.34521

    样例输出

    12.345

    来源

    习题(2-2)

    思路

    使用setprecision()做即可。

    setprecision使用方法详解:

    浮点值可以四舍五入到若干位有效数或精度,这是出现在小数点前后的总位数。可以通过使用 setprecision 操作符来控制显示浮点数值的有效数的数量。

    下面的程序显示了用不同数量的有效数来显示除法运算的结果:

    1. #include
    2. #include // Header file needed to use setprecision
    3. using namespace std;
    4. int main()
    5. {
    6. double number1 = 132.364, number2 = 26.91;
    7. double quotient = number1 / number2;
    8. cout << quotient << endl;
    9. cout << setprecision(5) << quotient << endl;
    10. cout << setprecision(4) << quotient << endl;
    11. cout << setprecision(3) << quotient << endl;
    12. cout << setprecision(2) << quotient << endl;
    13. cout << setprecision(1) << quotient << endl;
    14. return 0;
    15. }
    程序输出结果:
    

    4.91877
    4.9188
    4.919
    4.92
    4.9
    5

    注意,使用预标准编译器输出的结果可能与此结果不同。

    程序中的第一个值显示在第 11 行,没有设置 setprecision 操作符(默认情况下,系统使用 6 个有效数显示浮点值)。后续的 cout 语句打印相同的值,但四舍五入为 5、4、3、2 和 1 个有效数。

    请注意,与 setw 不同的是,setprecision 不计算小数点。例如,当使用 setprecision(5) 时,输出包含 5 位有效数,但是需要 6 个位置来显示 4.9188。

    如果一个数字的值可以由少于 setprecision 指定的精度位数来表示,则操作符将不起作用。在以下语句中,dollars 的值只有 4 位数字,所以 2 个 cout 语句显示的数字都是 24.51:

    1. double dollars = 24.51;
    2. cout << dollars << endl;  // 显示 24.51
    3. cout << setprecision (5) << dollars << endl; // 显示 24.51

    表 1 显示了 setprecision 如何影响各种值的显示方式。请注意,如果有效数少于要显示的数字,则 setprecision 将舍入,而不是截断数字。另外还需要注意的是,末尾的零将被省略。因此,尽管指定了  setprecision(5),但是 21.40 仍显示为 21.4。
     

    表 1 setprecision 操作符
    数 字操作符显示的值
    28.92786setprecision(3)28.9
    21.40setprecision(5)21.4
    109.50setprecision(4)109.5
    34.78596setprecision(2)

    35

    以上内容转载自:http://c.biancheng.net/view/1340.html 

    代码

    1. #include
    2. #include
    3. using namespace std;
    4. int main()
    5. {
    6. double a;
    7. cin>>a;
    8. cout<setprecision(3)<
    9. return 0;
    10. }

    希望本博客对大家有所帮助

  • 相关阅读:
    域名抢注“卷”到了表情包?ENS逆势上涨的新推力
    windows usbip(瑞芯微windows开发)
    无法解析 Failure to transfer *** from *** was cached in the local repository
    数据结构篇——KMP算法
    Git学习1
    Spring(十三)- Spring 配置类的注解
    QA-LORA: QUANTIZATION-AWARE LOW-RANK ADAPTATION OF LARGE LANGUAGE MODELS
    Selenium 3和JUnit 5中的显示等待与隐式等待
    Allegro设置Cline到Shape按照区域规则避让操作指导
    100套基于Java开发的毕业设计项目,完成项目源码可共分为五季,每季大约20套项目,希望大家多多支持持续关注哦!
  • 原文地址:https://blog.csdn.net/weixin_46522531/article/details/126318899