碧波液压网 欢迎你,游客。 登录 注册

GB/T8170数值修约规则在Excel中的实现

版权信息:站内文章仅供学习与参考,如触及到您的版权信息,请与本站联系。

  利用Excel来进行各种数值的统计分析可以极大的减轻人工计算的工作量和减少人工计算的误差,但是依据Excel本身的计算规则, 所有的数值修约都是按照“四舍五入”来进行的。而在实际工作中,许多数据的运算处理都必须依照GB/T8170-2008《数值修约规则与极限数值的表示和判定》中的数值修约规则进行,在Excel中却没有相对应的函数, 这样计算出来的结果就和按GB/T8170-2008的规则修约的结果产生了偏差。

  一、GB/T8170-2008对数值修约的进舍规则

  GB/T8170-2008的数值修约进舍规则并不是单纯的“四舍五入”,而是根据不同情况进行:

  规则一:如果拟舍弃数字的最左一位数字小于5时,则舍去,即保留的各位数字不变。例1:将10.349修约到一位小数,得10.3。

  规则二:如果拟舍弃数字的最左一位数字大于5,则进一,即保留的末位数字加1。例2:将1260修约到百数位,得1300(或13×102)。

  规则三:如果拟舍弃数字的最左一位数字为5,且其后有非0数字时进一,即保留的末位数字加1。例3:将10.501修约到个数位,得11。

  规则四:如果拟舍弃数字的最左一位数字为5,而右面无数字或皆为0时, 若所保留的末位数字为奇数(1,3,5,7,9)则进一,为偶数(2,4,6,8,0)则舍弃。

  例4:修约间隔为0.1(或10-1)(见表1)

  规则五:负数修约时,先将它的绝对值按规则一至四进行修约,然后在所得值前面加上负号。

  例5:修约到十数位(见表2)

  规则六:GB/T8170-2008的修约规则中,还有0.5单位修约与0.2单位修约的情况。

  0.5单位修约:将拟修约数值乘以2,然后按指定数位依以上规则一至四进行修约,所得数值再除以2。0.2单位修约:将拟修约数值乘以5,然后按指定数位依以上规则一至四进行修约,所得数值再除以5。

  二、Excel对数值修约的进舍规则

  Excel中的取整函数对数值的修约只有“四舍五入”的规则,当拟舍弃数字的最左一位数字为5,而右面无数字或皆为0时,计算结果就会与GB/T8170-2008修约结果不同。

  例4:修约间隔为0.1(或10-1)(见表3)

  三、利用自定义函数在Excel中实现GB/T8170-2008修约规则

  Excel的自定义函数是用VBA来编程的, 而VisualBasic语言里面的ROUND( )函数刚好符合上述的修约规则一至规则五, 不过它只能修约小于等于单位1的修约间隔,而且缺少0.5单位和0.2单位的修约间隔,需要做一些补充。下面我们就用VBA来实现新的符合GB/T8170-2008的函数ROUNDGB( )。

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签:
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码:

最新评论