问题描述
- 两个double型变量相乘 在VC中结果不正确
-
各位大侠,在VC2010中遇到以下问题,如能解决,必重谢。两个double型变量相乘,如3.0*0.00095673,应该为0.00287019,但是在VC中这个值是0.002870189999999999,这样的话我们后面有一步需要进行(int)(3.0*0.00095673/0.00095673),真实结果应该为3,但是在VC中这个值却是2,这在我们程序中就会带来一定的计算误差。
现在想知道这样的计算误差能不能通过什么方式处理掉呢?
由于我们在计算过程中有可能会出现(int)(2.999999)=2这样的情况,因此向上取整也可能不是很合适。
解决方案
不能,浮点数本身就有误差。
计算不要用double,用decimal
时间: 2025-01-21 06:22:32