差两个双数的结果不正确

时间:2019-02-24 08:43:03

标签: c#

为什么我得到的结果不正确。(例如n = 3.83,我期望temp = 0.83,但是当跟踪我的代码temp = 0.83000000000000007时) 注意:temp,m和n是双精度的。

n = double.Parse(Console.ReadLine());
        m = Math.Floor(n);
        Console.WriteLine(m);
        temp = n - m;

1 个答案:

答案 0 :(得分:-1)

原因是double的精度。商店号码仅约。因此,您可以在低位数字上有所不同。通常情况并不严格,但在以下情况下很糟糕:

  • 您想要一个确切的答案。
  • 错误累积。