舍入小数到0,5,1

时间:2015-06-28 10:43:57

标签: excel

在科威特(阿拉伯国家),我们在逗号之后使用了三位小数,如(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来解决此问题吗?

3 个答案:

答案 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"。因此,您需要根据所需的精度水平调整比较指数。

以下是结果,显示问题中的原始示例,以及评论中不同的示例集:

enter image description here

答案 2 :(得分:0)

您可以使用:

=FLOOR.MATH(A1, 0.005)

=ROUNDDOWN(A1 * 200; 0) / 200