【发布时间】: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
标签: excel ms-access vbscript ms-access-2007 excel-2007