VB中双精度型数据相加减误差问题
我在VB里面进行两个双精度型数据相减,例如-9115536.832 + 9115535.478,得到的结果是-1.35400000028312 ,后面的28312数据应该为计算误差,但是计算-36.832 + 35.478,得到的结果是-1.354,就没有后面的计算误差,能不能在小数点前的那个3之前有很多位相同数的情况下进行相减也不要出现计算误差呢?请各位高手指点一下、、 VB 相加减误差
[解决办法]
这个误差不可避免,用Round函数对结果四舍五入下。
[解决办法]
是哦是哦,建议你考虑下用Currency类型数据做这种计算
[解决办法]
计算中间过程不用处理误差;
输出最终结果时调用 Round();
参与比较时用 Round() 结果进行比较,但不改变原变量。
[解决办法]
只能更换算法,避开精度损失。