#AB02. 保留x位小数与四舍五入
保留x位小数与四舍五入
当前没有测试数据。
保留位小数
- • 头文件:
#include<iostream>
、#include<iomanip>
- • 比赛环境中,你可以直接使用万能头文件,
#include<bits/stdc++.h>
,这包含了上面两个头文件。 - • 保留 位小数输出语句:
cout << fixed << setprecision(x) << a;
现在的出题人一般都不会说四舍五入,而是用精度控制,比如相对或绝对误差在(即 )以内就算对,此时你保留位小数就肯定够了。
但是仍然有很多远古题会说到固定的小数位数四舍五入,这里我们单独说一下。
关于四舍五入
如果题目说保留 位小数,那么就按照上面方式输出就可以了。
但是需要注意的是,这种方式并不是我们直观中的四舍五入。
对于 舍和 入的部分是没有问题的,对于舍入位是 ,且后面还有大于 的数位时也是没有问题的。但如果舍入位是 且后没有其他数了,那么有可能会有两个小问题。
如果是 double
类型可以精确储存的数
那么会舍入到最接近的偶数数位,比如在保留 位小数的情况下:
- ->
- ->
- ->
- ->
保留 位小数的情况下:
- ->
- ->
如果是 double
类型无法无法精确储存的数
实际上储存的数可能会有一点点偏差,也会造成和我们所想不同。 比如如果输入,那么保留位小数输出的会是,因为保留位小数输出后,我们会发现实际储存的数大概是,执行的自然是舍操作。