纯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语言麻烦的多。

相关推荐
Halo_tjn8 小时前
Java 相关资料
java·开发语言·计算机
丸码8 小时前
Java异常体系全解析
java·开发语言
q***72198 小时前
PHP使用Redis实战实录2:Redis扩展方法和PHP连接Redis的多种方案
开发语言·redis·php
k***82519 小时前
python爬虫——爬取全年天气数据并做可视化分析
开发语言·爬虫·python
IMPYLH9 小时前
Lua 的 require 函数
java·开发语言·笔记·后端·junit·lua
曾经的三心草9 小时前
基于正倒排索引的Java文档搜索引擎1-实现索引模块-实现Parser类
java·开发语言·搜索引擎
q***01659 小时前
Python爬虫完整代码拿走不谢
开发语言·爬虫·python
顺心而行...9 小时前
一些问题记录
开发语言
小欣加油9 小时前
leetcode 1018 可被5整除的二进制前缀
数据结构·c++·算法·leetcode·职场和发展
u***j3249 小时前
JavaScript在Node.js中的进程管理
开发语言·javascript·node.js