yinqizhuan910
fdsyinh
采纳率0%
2014-11-12 01:38 浏览 2.6k

两个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这样的情况,因此向上取整也可能不是很合适。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

1条回答 默认 最新

  • yinhening yinhening 2014-11-12 02:01

    不能,浮点数本身就有误差。
    计算不要用double,用decimal

    点赞 评论 复制链接分享

相关推荐