OpenOffice.org Calc 中数字的舍入

作者: Bruce Byfield

出于统计和数学目的,OpenOffice.org 的 Calc 电子表格包含多种舍入数字的方法。如果您是程序员,您可能也熟悉其中一些方法。但是,您无需成为专家即可发现其中一些方法很有用。您可能出于计费目的需要舍入,或者因为十进制位不能很好地转化为物理世界——例如,如果您需要的部分以 100 个包装,那么您只需要 66 个这个事实与您无关;您需要向上舍入才能订购。通过了解舍入选项,您可以使您的电子表格对您更有用。

当您使用舍入函数时,您可以选择两种设置公式的方式。如果您选择,您可以将计算嵌套在其中一个舍入函数中。例如,公式 =ROUND((SUM(A1;A2)) 将单元格 A1 和 A2 中的数字相加,然后将它们舍入到最接近的整数。但是,即使您不需要每天都处理精确的数字,您可能仍然希望偶尔引用它们。如果是这种情况,那么您最好将这两个函数分开,将 =SUM(A1;A2) 放在单元格 A3 中,将 =ROUND (A3) 放在 A4 中,并清楚地标记每个函数。您对布局的选择在很大程度上取决于您的工作习惯;就我个人而言,我更喜欢第二种,理由是我可能不记得我正在做什么的细节,如果我在创建电子表格六个月后查看它的话。

舍入方法

Calc 中舍入数字最基本的功能是 ROUND。此函数将根据对称算术舍入的常用规则舍入数字:小数点后为 .4 或更小则向下舍入,而小数点后为 .5 或更大则向上舍入。但是,有时,您可能不想遵循这些规则。例如,如果您是那些按工作小时的任何零头收取整小时费用的承包商之一,您会希望始终向上舍入,这样您就不会损失任何金钱。相反,您可能会选择向下舍入,以便给长期客户一些折扣。在这些情况下,您可能更喜欢使用 ROUNDUP 或 ROUNDDOWN,顾名思义,它们的名称正如其名称所示,将数字舍入到最接近的上方或下方整数。

所有这三个函数都需要数字的单个参数——要舍入的单元格或数字。仅使用此参数,所有这三个函数都舍入到最接近的整数,因此 46.5 将使用 ROUND 或 ROUNDUP 舍入到 47,使用 ROUNDDOWN 舍入到 46。但是,如果您使用可选的计数参数,则可以指定要包含的小数位数。例如,如果数字设置为 1,则 48.65 将使用 ROUND 或 ROUNDUP 舍入到 48.7,使用 ROUNDDOWN 舍入到 48.6。

作为使用十进制数时 ROUNDDOWN 的替代方法,您可以使用 TRUNC,顾名思义,它是“truncate”(截断)的缩写。它采用与 ROUNDDOWN 完全相同的参数,因此您使用哪个函数是选择问题。如果您不使用十进制数,您可以选择使用 INT(“integer”(整数)的缩写),它仅采用数字参数。

另一个选项是 ODD 和 EVEN 函数对。如果输入的数字参数是正数,则 ODD 向上舍入到最接近的奇数,如果是负数,则向下舍入,而 EVEN 对偶数执行相同的操作。

还有一种选择是 CEILING 和 FLOOR 函数。正如您可以从名称中猜到的那样,CEILING 向上舍入,而 FLOOR 向下舍入。对于这两个函数,它们舍入到的数字由您输入为 significance 参数的数字的最接近倍数决定。例如,如果您的商业保险是按工作周计费的,那么您一周只营业三天的这个事实与您的成本无关;您仍然需要支付整整一周的费用,因此可能希望在您的每月费用中使用 CEILING。相反,如果您正在构建定制计算机并且一天完成了 4.5 台,您的客户只会对准备发货的数量感兴趣,因此您可能希望在您的进度报告中使用 FLOOR。

除了数字和 significance 之外,CEILING 和 FLOOR 都包含一个名为 mode 的可选参数,该参数的值为 0 或 1。如果 mode 设置为 0,并且数字和 significance 都是负数,则任一函数的结果都向上舍入;如果设置为 1,并且数字和 significance 都是负数,则结果向下舍入。换句话说,如果数字是 -11,significance 是 -5,那么当 mode 设置为 0 时,结果是 -10,但当设置为 1 时,结果是 -15。

但是,如果您在 Calc 和 MS Excel 之间交换电子表格,请记住 Excel 不支持 mode 参数。如果您希望两个电子表格之间的答案保持一致,请将 Calc 中的 mode 设置为 -1。

一个与 CEILING 和 FLOOR 有些相似的函数是 MROUND。与 CEILING 和 FLOOR 一样,MROUND 需要两个参数,尽管有点令人困惑的是,第二个参数称为 multiple 而不是 significance,即使两者是相同的。MROUND 与 CEILING 和 FLOOR 之间的区别在于 MROUND 使用对称算术舍入向上或向下舍入。例如,如果数字是 77,multiple 是 5,则 MROUND 的结果为 75。但是,如果 multiple 更改为 7,则 MROUND 的结果变为 77。

结论

一旦您从 Calc 冗长、无差别的函数列表中梳理出各种舍入函数,您就可以开始决定哪个函数最适合您的目的。

但是,最后一点值得一提:如果您处理的小数位数超过两位,如果您在电子表格上看到的小数位数与在函数向导中看到的小数位数不同,请不要感到惊讶。如果您没有看到相同的小数位数,原因是工具 -> 选项 -> OpenOffice.org Calc -> 计算 -> 小数位数 默认为 2。更改小数位数,并在必要时取消选中同一选项卡上的“以显示精度为准”框,电子表格将按预期显示。

加载 Disqus 评论