fdsyinh 2014-11-12 01:38 采纳率: 0%
浏览 2763

两个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 2014-11-12 02:01
    关注

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

    评论

报告相同问题?

悬赏问题

  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记