12

C#ではこれがあります:

double Cos = Math.Cos(32.471192290848492); //Equals 0.49299653250335213

しかし、電卓でこれを行うと、これが得られます

(0.84366148773210745476752872050588)

なぜ間違った値を返すのですか?

4

3 に答える 3

19

Math.Cosは、ラジアン単位の角度を期待しています。電卓は度単位で動作していると思います。

度単位の値をラジアンに変換することで、同じ答えを得ることができるはずです。

double angleInDegrees = 32.471192290848492;
double cos = Math.Cos(angleInDegrees * (Math.PI / 180.0));
于 2012-06-23T01:19:59.227 に答える
6

度とラジアンを混同している可能性があります。ほとんどの計算機は度を使用しますが、ほとんどのプログラミング言語はラジアンを使用するように設定されています。

于 2012-06-23T01:19:51.120 に答える
4

ラジアンと電卓はMath.Cosで動作するためです。

于 2012-06-23T01:20:02.517 に答える