遇到这样一个问题
简单点说:
做个VBA,语句表达的意思就是b=sum(F:F)-sum(G:G)
简单的整数(或两位小数)加减法,计算结果大部分都正确,出现两个错误,算出来一大堆小数
详细如下:
dim b as double (因为我看sum返回的是双精度,所以b也设为双精)
b = Application.WorksheetFunction.Sum(Range("F:F")) - Application.WorksheetFunction.Sum(Range("G:G"))
这个工作做完了,三十个表格运行良好,数据计算都正确,但其中两个表格出问题了
其中一个实际计算b=8415.84,但VBA显示的b=8415.8399999999999999999
另一个更费解了,实际计算b=0,但VBA显示b=0.00000000000011121就是小数后一大堆
有没有大神能解释一下为什么,乘除的话我还能接受,TMD两位小数的加减法怎么弄出的一大堆小数。
这到底是我语句的问题?双精度的问题?还是我待处理的数据不对?
简单点说:
做个VBA,语句表达的意思就是b=sum(F:F)-sum(G:G)
简单的整数(或两位小数)加减法,计算结果大部分都正确,出现两个错误,算出来一大堆小数
详细如下:
dim b as double (因为我看sum返回的是双精度,所以b也设为双精)
b = Application.WorksheetFunction.Sum(Range("F:F")) - Application.WorksheetFunction.Sum(Range("G:G"))
这个工作做完了,三十个表格运行良好,数据计算都正确,但其中两个表格出问题了
其中一个实际计算b=8415.84,但VBA显示的b=8415.8399999999999999999
另一个更费解了,实际计算b=0,但VBA显示b=0.00000000000011121就是小数后一大堆
有没有大神能解释一下为什么,乘除的话我还能接受,TMD两位小数的加减法怎么弄出的一大堆小数。
这到底是我语句的问题?双精度的问题?还是我待处理的数据不对?