纯C++设置浮点数精度

用纯C++语法输出固定位数小数的方法简直不要太麻烦。

首先需要用到一个专用头文件<iomanip>,还需要用到一个流操作符setprecision,用于设置输出流中浮点数的精度。

比如设置π的精度。

#include <iostream>
#include <iomanip> // 包含 setprecision 的头文件
int main() {
    double pi = 3.14159265358979323846;
    // 设置精度为 2,并输出3.1
    std::cout << std::setprecision(2) << pi << std::endl;
    // 设置精度为 5,并输出3.1416
    std::cout << std::setprecision(5) << pi << std::endl;
    // 设置精度为 10,并输出3.141592654
    std::cout << std::setprecision(10) << pi << std::endl;
    return 0;
}

可见,用setprecision设置精度是包括整数部分的,即它指的是总的有效数字位数。

如果你想要保留到小数点后几位,还需要引入另一个小伙伴:fixed

#include <iostream>
#include <iomanip> // 包含 setprecision 的头文件
int main() {
    double pi = 3.14159265358979323846;
    // 设置精度为 2,并输出3.14
    std::cout << std::fixed <<  std::setprecision(2) << pi << std::endl;
    // 设置精度为 5,并输出3.14159
    std::cout << std::fixed << std::setprecision(5) << pi << std::endl;
    // 设置精度为 10,并输出3.1415926536
    std::cout << std::fixed << std::setprecision(10) << pi << std::endl;
    return 0;
}

当然了,如果在main函数前用了using namespace std;的话,代码中的std::就可以省去了,不过即便是这样,这种语法明显也比C语言麻烦的多。

相关推荐

  1. C++设置点数精度

    2024-04-05 19:04:05       16 阅读
  2. 点数精度问题

    2024-04-05 19:04:05       37 阅读
  3. QT c++ 双精度点数转换成4个16位数

    2024-04-05 19:04:05       32 阅读
  4. C++如何获取随机点数

    2024-04-05 19:04:05       36 阅读
  5. c++计算点数相除的余

    2024-04-05 19:04:05       16 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-05 19:04:05       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-05 19:04:05       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-05 19:04:05       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-05 19:04:05       18 阅读

热门阅读

  1. Flask学习(七):pymysql链接数据库

    2024-04-05 19:04:05       19 阅读
  2. Android Data Binding 技术的深度探讨及其应用

    2024-04-05 19:04:05       12 阅读
  3. 每日一题:C语言经典例题之判断实数相等

    2024-04-05 19:04:05       20 阅读
  4. Python小游戏(1)附带源码

    2024-04-05 19:04:05       13 阅读
  5. 体感游戏开发:体感游戏常用技术

    2024-04-05 19:04:05       19 阅读