- C++
保留 x 位小数
- 2023-3-30 13:25:59 @
保留 x 位小数
方法 1
- 头文件:
#include <cstdio>
- 语句:
printf("%.xf", a);
方法 2
- 头文件:
#include<iostream>
、#include<iomanip>
- 语句:
cout << fixed << setprecision(x) << a;
注意
如果题目说保留 x 位小数,那么就按照这种方式输出就可以了。
但是需要注意的是,这种方式并不是我们直观中的四舍五入。
对于 4 舍和 6 入的部分是没有问题的,对于舍入位是 5,且后面还有大于 0 的数位时也是没有问题的。但如果舍入位是 5 且后没有其他数了,那么有可能会有两个小问题。
如果是 double
类型可以精确储存的数,那么会舍入到最接近的偶数数位,比如在保留 0 位小数的情况下:
- 0.5 -> 0
- 1.5 -> 2
- 2.5 -> 2
- 3.5 -> 4
保留 2 位小数的情况下:
- 1.125 -> 1.12
- 1.375 -> 1.38
如果是 double
类型无法无法精确储存的数,实际上储存的数可能会有一点点偏差,也会造成和我们所想不同。
比如如果输入 1.115,那么保留 2 位小数输出的会是 1.11,因为保留 20 位小数输出后,我们会发现实际储存的数大概是 1.11499999999999999112,执行的自然是 4 舍操作。
1 条评论
-
admin SU @ 2023-11-3 20:26:28
保留 x 位小数
方法 1
- 头文件:
#include <stdio.h>
- 语句:
printf("%.xf", a);
- 头文件:
- 1