Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 度转换不是';t使用反向三角测量法_Javascript_Html_Trigonometry_Inverse_Degrees - Fatal编程技术网

Javascript 度转换不是';t使用反向三角测量法

Javascript 度转换不是';t使用反向三角测量法,javascript,html,trigonometry,inverse,degrees,Javascript,Html,Trigonometry,Inverse,Degrees,我严格使用JavaScript创建了一个计算器,我发现自己在创建三角函数的反函数时遇到了一个问题。当使用弧度时,一切都起作用了,但以度为单位,我得到了错误的答案 我希望它能像我的转换错误一样简单,但其他使用度的东西(即非逆三角的东西)都工作得很好。下面的代码是计算器中与度转换和触发器相关的部分 代码段: var degVal=真; var Deux=假; 函数toDegrees(角度、模式){//此函数将弧度转换为度,反之亦然 如果(degVal==true){ mode=(Math.PI/

我严格使用JavaScript创建了一个计算器,我发现自己在创建三角函数的反函数时遇到了一个问题。当使用弧度时,一切都起作用了,但以度为单位,我得到了错误的答案

我希望它能像我的转换错误一样简单,但其他使用度的东西(即非逆三角的东西)都工作得很好。下面的代码是计算器中与度转换和触发器相关的部分

代码段:


var degVal=真;
var Deux=假;
函数toDegrees(角度、模式){//此函数将弧度转换为度,反之亦然
如果(degVal==true){
mode=(Math.PI/180);//由于某种原因,这个不正确的转换公式给出了正确的答案
}
否则如果(degVal==false){
模式=1;
}
返回角*模式;
}
函数基本图(TrigFunc、TrigInv){
var val1=toDegrees(parseFloat(document.getElementById(“value1”).value));
var ansD=document.getElementById(“答案”);
如果(Deux==false){
ansD.value=TrigFunc(val1);
}
else if(Deux==true){
ansD.value=TrigInv(val1);//由于某种原因,不能以度为单位工作
}
}
函数MoreTrig(TrigEq,TrigEqInv){//此函数允许执行csc、sec和cot
var val1=toDegrees(parseFloat(document.getElementById(“value1”).value));
var ansD=document.getElementById(“答案”);
如果(Deux==false){
ansD.value=1/TrigEq(val1);
}
else if(Deux==true){
ansD.value=TrigEqInv(1/val1);//也不适用于度
}
}
函数Deuxieme(){//第二个函数(计算器)按钮
如果(Deux==false){
document.getElementById(“LeDeux”).style.backgroundColor=“橙色”;
Deux=真;
document.getElementById(“sinbutton”).value=“sin⁻把罪变成罪⁻¹
document.getElementById(“cosbutton”).value=“cos⁻“%_”;//将cos更改为cos⁻¹
document.getElementById(“tanbutton”).value=“tan”⁻“%_”;//将棕褐色变为棕褐色⁻¹
document.getElementById(“cscbutton”).value=“csc⁻“%_”;//将csc更改为csc⁻对于那些习惯于这样做的人来说,中信建投(国际)是cosec
document.getElementById(“secbutton”).value=“sec⁻“%_”;//将秒更改为秒⁻¹
document.getElementById(“cotbutton”).value=“cot⁻“%_”;//将胶辊更换为胶辊⁻¹
}
else if(Deux==true){
document.getElementById(“LeDeux”).style.backgroundColor=“”;
Deux=假;
document.getElementById(“sinbutton”).value=“sin”;
document.getElementById(“cosbutton”).value=“cos”;
document.getElementById(“tanbutton”).value=“tan”;
document.getElementById(“cscbutton”).value=“csc”;
document.getElementById(“secbutton”).value=“sec”;document.getElementById(“cotbutton”).value=“cot”;
}
}
函数raddeghlight(){//在弧度和度数之间切换
如果(degVal==true){
document.getElementById(“drbutton”).value=“rad”;
degVal=false;
}
否则如果(degVal==false){
document.getElementById(“drbutton”).value=“deg”;
degVal=真;
}
}

您正在将反向触发函数的输入从弧度转换为度,但它首先不是弧度。使用逆运算时需要转换输出。

如果要执行
toDegrees(Math.asin(val1))
我已经尝试过了(甚至想在问题中提到它,但我忘了),仍然不起作用。例如,
toDegrees(Math.asin(.5))=0.009138522593601258
,其中应为30,
toDegrees(Math.acos(.5))=0.018277045187202516
,其中应为60。@Gnago:Your
toDegrees
函数不会转换为度。编写一个
函数toDegrees(radians){return radians*180/Math.PI;}
和一个
函数toRadians(degrees){return degrees*Math.PI/180;}
。是的,这解决了问题,我避免了整个过程,因为它在其他地方都能工作。哦,谢谢你的帮助