纯C++设置浮点数精度

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

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

比如设置π的精度。

cpp 复制代码
#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

cpp 复制代码
#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语言麻烦的多。

相关推荐
子豪-中国机器人几秒前
枚举算法和排序算法能力测试
开发语言·c++·算法
1白天的黑夜112 分钟前
栈-844.比较含退格的字符串-力扣(LeetCode)
c++·leetcode·
VBA633733 分钟前
如何学习VBA:换一种思路思考问题,利用数据库实现数据处理自动化
开发语言
0_0梅伊阁诗人44 分钟前
Django ORM 模型
开发语言·数据库·笔记·python·oracle·django
林夕忆梦_猫1 小时前
初识C++
开发语言·c++
chxin140161 小时前
openCV3.0 C++ 学习笔记补充(自用 代码+注释)---持续更新 四(91-)
c++·opencv·计算机视觉
lightqjx1 小时前
【C++】string类 模拟实现
java·开发语言·c++
青草地溪水旁1 小时前
C/C++ 标准库中的 `strspn` 函数
c语言·c++
只_只1 小时前
B1013 PAT乙级JAVA题解 数素数
java·开发语言
minji...1 小时前
C++ list的模拟实现
开发语言·c++·list