我有一个程序,它具有余弦值.我想要使用这个值来找到它对应的角度.然而,acos实际上并没有给我一个角度值(arcos通常就是这样).相反,我得到了这个(见下文).为什么会发生这种情况,acos会这样吗?
double r,cos,sin,angVal;
String temp = real.getText().toString();
double a = Double.parseDouble(temp);
temp=imag.getText().toString();
double b =Double.parseDouble(temp);
r=Math.sqrt(a*a + b*b);
cos = a/r;
sin = b/r;
angVal = Math.acos(cos);
ans.setText("r = "+r+"\ncos = "+cos+"\nsin = "+sin+"\nThe angle = "+angVal+"");
Run Code Online (Sandbox Code Playgroud)

是的,Math.acos()给出角度,但是在radians(即在范围内[0..pi]).
要将其转换为度数,请使用:
angVal = Math.toDegrees(Math.acos(cos));
Run Code Online (Sandbox Code Playgroud)