Sna*_*Doc 2 vbscript excel ms-access ms-access-2007 excel-2007
我有一组十进制数,我需要将它们舍入到最接近7的数字.
例如:
0.45 --> 0.47
4.70 --> 4.67
6.49 --> 6.47
8.32 --> 8.37
Run Code Online (Sandbox Code Playgroud)
我可以使用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
Run Code Online (Sandbox Code Playgroud)
我尝试过舍入公式:
Let N represent the nearest number to round to.
Let X represent the input number.
output = ROUND(X / N, 0) * N
Run Code Online (Sandbox Code Playgroud)
然而,这并没有给出预期的结果.
例如:
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
Run Code Online (Sandbox Code Playgroud)
如何舍入到最接近7的最近数字?
你只能舍入到零.因此,您需要以0.07为0.00的方式转换数字.例如,您可以添加0.03或减去0.07.然后在四舍五入后你做相反的操作(减去0.03或加0.07)并得到你想要的数字.
代码:
=ROUND(A1+0.03, 1) - 0.03
Run Code Online (Sandbox Code Playgroud)