VBA+EXCEL单元格相对位置表达 及EXCEL的舍入误差问题

若已知某单元格及另外一个单元格的相对它的位置,则可以采用如下的表达方法:cells(i,j).offset(0,3)=“单元格内容” 。

   SheetA.Cells(i, sC) = zCD
  SheetA.Cells(i, sC).Offset(0, 5) = sLB & "类"

十进制 1/3=0.3333333333333,无穷无尽。EXCEL数值有二进制存储也存在“除不尽的问题”,用有限的位数表达无限的循环小数,必然会产生舍入误差。如a=2.3 表达成了 b=2.2999999999999999999999999…,如此情况下,我们若要比较两个数是否相同,肯定会有 2.3<>2.1999999…,为了避免这种情况,若确认我们要比较的数只有1位小数,我们可以采取如下的方法:

int(a*10+0.001) 是否等于 int(b*10+0.001)  

以此类推,若比较2位小数,则是,int(a*100+0.0001),后面的0.0001多写几位0也无妨!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值