Math.Sin给我错误的答案吗?

时间:2013-03-03 13:30:55

标签: c# math sin

我正在尝试使用Math.Sin()计算sin(pi弧度)。我使用以下代码。

        double degrees = 180;
        double radians = Math.PI / 180 * degrees;
        Console.WriteLine(Math.Sin(radians));

它给了我一个值

  

1.22460635382238E-16

这是什么原因?当然它应该返回0值吗?

请赐教。感谢。

1 个答案:

答案 0 :(得分:6)

1.22460635382238E-16基本上是0.它实际上代表数字

0.000000000000000122460635382238。这个数字接近于0.它基本上只是因为不同的舍入错误都在一起。

请查看http://en.wikipedia.org/wiki/Floating_point了解详情。