在科威特(阿拉伯国家),我们在逗号之后使用了三位小数,如(100.523,50.978,340.143,76.552,414,081 ......等)。
如何仅将小数舍入为0或5或1,例如:
1. 50.231 rounding to **50.230** Keeping same
2. 50.232 rounding to **50.230**
3. 50.233 rounding to **50.230**
4. 50.234 rounding to **50.230**
5. 50.235 rounding to **50.235** Keeping same
舍入为1的另一种示例:
1. 50.236 rounding to **50.235**
2. 50.237 rounding to **50.235**
3. 50.238 rounding to **50.235**
4. 50.239 rounding to **50.235**
5. 50.240 rounding to **50.240** Keeping same.
如果可以通过使用公式或不使用excel来解决此问题吗?
答案 0 :(得分:2)
你似乎做了FLOOR操作,而不是一轮。不同之处在于,地板总是向下舍入,达到精确度,而ROUND向上或向下舍入到最近的值。
使用excel,您可以执行以下操作并设置精度:
=FLOOR(A1, 0.005)
供参考,请参阅https://support.office.com/en-sg/article/FLOOR-function-14bb497c-24f2-4e04-b327-b0b4de5a8886
如果使用ROUND,您的示例
3. 50.238 rounding to **50.235**
4. 50.239 rounding to **50.235**
而是舍入到50.240
,因为这是最接近的0.005倍。
答案 1 :(得分:0)
看起来你正在向下舍入到最接近的0.005。为此,请尝试此公式,它会显示您在示例中显示的结果:
=ROUNDDOWN(A1/0.005,0)*0.005
检查公式是否也为负数提供了所需的结果。 需要修改FLOOR函数,以便在2010年之前的Excel版本中使用负数。
编辑:在下面的评论中,您更改了示例2的结果。现在看来您想要执行简单的ROUND
,除非值为nn.nn5(例如,恰好在.005边界上)。
目前尚不清楚您需要什么级别的精度,而且双精度浮点运算的IEEE标准允许一些" slop"。因此,您需要根据所需的精度水平调整比较指数。
以下是结果,显示问题中的原始示例,以及评论中不同的示例集:
答案 2 :(得分:0)
您可以使用:
=FLOOR.MATH(A1, 0.005)
或
=ROUNDDOWN(A1 * 200; 0) / 200