excel的计算精度不是只能到小数点后7位,是15位有效数字,你的计算结果有7位整数,剩下还有8位有效数字,四舍五入之后,0.41255450,第8位是0,被误认为与后面的强制置成的0等同了。
解决办法:
-
放弃使用excel,VBA也是15位,所以直接用VBA不可取。使用其它精度足够高的软件,或调用有精度的编程功能。
-
减少整数部分的位数,这样就可以让小数位数多出来,计算后用&运算符将整数和小数使用连接起来,这样做的缺点就是出来的数是文本,而且计算量会比较大,如果数据量多可能会比较卡。