• 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. }

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

  • 相关阅读:
    基于SpringBoot+Vue的教师人事档案管理系统
    为什么 Java 中 byte 类型变量,值的范围是[-128 , 127]?
    zookeeper第三章:项目案例
    理解 Linux 文件权限
    linuxbingc(多线程)
    Jenkins - macOS 上安装
    卷积神经网络信号处理,卷积神经网络应用领域
    教你怎么把视频转换成gif动图
    水质分析仪MQTT应用案例
    服务器之间传文件夹,文件夹内容为空
  • 原文地址:https://blog.csdn.net/weixin_46522531/article/details/126318899