1

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

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

它给了我一个价值

1.22460635382238E-16

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

请赐教。谢谢。

4

1 回答 1

8

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

0.000000000000000122460635382238。这个数字接近0。这基本上只是因为不同的舍入误差都聚集在一起。

查看http://en.wikipedia.org/wiki/Floating_point了解更多信息。

于 2013-03-03T13:38:08.097 回答