四舍五入到最接近的 N 数
Posted
技术标签:
【中文标题】四舍五入到最接近的 N 数【英文标题】:Round to the nearest N number 【发布时间】:2014-06-09 16:56:17 【问题描述】:我有一组十进制数字,我需要将它们四舍五入到以 7 结尾的最接近的数字。
例如:
0.45 --> 0.47
4.70 --> 4.67
6.49 --> 6.47
8.32 --> 8.37
我可以为此使用 Excel 或 Access(基本上是 VBS)。
我可以只取小数点后 2 位,将其转换为整数 (*100),然后应用舍入规则,然后将原始值的整数值前置。
例如:
0.45 --> 45 --> 47 --> 0.47
4.70 --> 70 --> 67 --> 4.67
6.49 --> 49 --> 47 --> 6.47
8.32 --> 32 --> 37 --> 8.37
我已经尝试了舍入公式:
Let N represent the nearest number to round to.
Let X represent the input number.
output = ROUND(X / N, 0) * N
但是这并没有给出预期的结果。
例如:
0.45 --> ROUND(45 / 7, 0) * 7 --> 42 != 47
4.70 --> ROUND(70 / 7, 0) * 7 --> 70 != 67
6.49 --> ROUND(49 / 7, 0) * 7 --> 49 != 47
8.32 --> ROUND(32 / 7, 0) * 7 --> 28 != 37
如何四舍五入到以 7 结尾的最接近的数字?
【问题讨论】:
澄清一下,不应该将 8.32 舍入 向下,因为它比 8.27 高 5 个单位? (keiv 的公式向上取整 8.32,这是我所期望的)。 @Jerry 是的,你是对的。是一个快速的数学类型-o ;-P 【参考方案1】:您只能四舍五入为零。因此,您需要以 0.07 为 0.00 的方式转换数字。例如,您可以添加 0.03 或减去 0.07。然后在四舍五入后做相反的事情(减去 0.03 或加上 0.07)并得到你想要的数字。
代码:
=ROUND(A1+0.03, 1) - 0.03
【讨论】:
以上是关于四舍五入到最接近的 N 数的主要内容,如果未能解决你的问题,请参考以下文章