Round函数

编辑
  • 文档创建者:印然
  • 浏览次数:5095次
  • 编辑次数:5次
  • 最近更新:Kevin-s 于 2019-06-17
  • 1. 描述

    在制作报表时,某数据列如收入金额是数字类型,其中数据包含小数,且小数位数不超过 2 位,对该列进行求和(使用公式 sum)等处理时,会发现最终的结果如:123456.409999996,即小数位数超过 2 位。

    此时您可能会有疑问,为什么小数位数不是 2 位?若您的报表对有效位数比较敏感,如金额汇总,总金额最多精确到分,即小数位数最多 2 位,该怎么办?

    下面我们就看下其问题出现的原因和处理的方案。

    2. 问题原因

    众所周知,计算机中的所有数据都是以二进制精确表示的,浮点数也不例外。然而浮点数的二进制表示法,却不像定点数那么简单。因为有些数据,在用十进制计算时就无法精确表示,再从十进制转化为二进制时,二进制无法在有限的精度内完全精确的表示出该数,只能利用更大的精度来更精确的表示这个数,二进制运算后,如上面的求和情况,就是体现出了这个现象,精度变大了。

    3. 解决方案

    此情况时,可使用 round() 函数对计算后的结果按指定位数四舍五入来解决。

    4. 示例

    如下所示,报表中的收入列求和,设计如下:



    如上对收入 sum 求和(B4 单元格)后精度变大了。遇到这样的情况时,可使用 round 函数对求和结果按 2 位小数位四舍五入,即 B5 单元格中的使用方法。


    附件列表


    主题: 报表应用
    标签: 暂无标签 编辑/添加标签
    如果您认为本文档还有待完善,请编辑

    文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
    关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
    若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

    此页面有帮助吗?只是浏览 [ 去社区提问 ]