Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.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中使用围绕变量的偏执来更改数学计算中的优先级_Javascript_Variables_Parentheses_Calculation - Fatal编程技术网

在Javascript中使用围绕变量的偏执来更改数学计算中的优先级

在Javascript中使用围绕变量的偏执来更改数学计算中的优先级,javascript,variables,parentheses,calculation,Javascript,Variables,Parentheses,Calculation,我正在使用数学和变量的组合来练习javascript计算,我发现使用正确的括号很困难。例如,我想进行以下计算[(4,95/ans2)-4,5]*100,其中ans2是一个计算变量。在最后一个字段中,我得到了45000,我应该得到-4.046。。。如果第一个和第二个字段中的输入为2+2 第一个号码: +第二个号码: 答复: 算计 函数计算(){ var first=document.getElementById('first')。值; var second=document.getElement

我正在使用数学和变量的组合来练习javascript计算,我发现使用正确的括号很困难。例如,我想进行以下计算
[(4,95/ans2)-4,5]*100
,其中ans2是一个计算变量。在最后一个字段中,我得到了45000,我应该得到-4.046。。。如果第一个和第二个字段中的输入为2+2

第一个号码:
+第二个号码:

答复: 算计 函数计算(){ var first=document.getElementById('first')。值; var second=document.getElementById('second')。值; var ans=document.getElementById('ans').value; var ans2=document.getElementById('ans2')。值; document.getElementById('ans')。value=parseInt(第一个)+parseInt(第二个); document.getElementById('ans2')。value=1.112-0.00043499*parseInt(document.getElementById('ans')。value)+0.00000055*Math.pow(parseInt(document.getElementById('ans')。value),2)-0.00028826; /*在下一行中,我不知道如何使用正确的方法括号来优先化计算,就像我在代码片段前面的示例中提到的那样*/ document.getElementById('ans3').value=[(4.95/parseInt(document.getElementById('ans2').value))-4.5]*100; }
问题就在这一行:
document.getElementById('ans3').value=[(4.95/parseInt(document.getElementById('ans2').value))-4.5]*100。您需要使用
()
而不是
[]
进行分组,并且不需要
parseInt
值。以下是工作片段:

函数计算(){
var first=document.getElementById('first')。值;
var second=document.getElementById('second')。值;
var ans=document.getElementById('ans').value;
var ans2=document.getElementById('ans2')。值;
document.getElementById('ans')。value=parseInt(第一个)+parseInt(第二个);
document.getElementById('ans2')。value=1.112-0.00043499*parseInt(document.getElementById('ans')。value)+0.00000055*Math.pow(parseInt(document.getElementById('ans')。value),2)-0.00028826;
/*在下一行中,我不知道如何使用正确的方法括号来优先化计算,就像我在代码片段前面的示例中提到的那样*/
document.getElementById('ans3')。值=((4.95/document.getElementById('ans2')。值)-4.5)*100
}
第一个号码:
+第二个号码:

答复: 算计
问题就在这一行:
document.getElementById('ans3').value=[(4.95/parseInt(document.getElementById('ans2').value))-4.5]*100。您需要使用
()
而不是
[]
进行分组,并且不需要
parseInt
值。以下是工作片段:

函数计算(){
var first=document.getElementById('first')。值;
var second=document.getElementById('second')。值;
var ans=document.getElementById('ans').value;
var ans2=document.getElementById('ans2')。值;
document.getElementById('ans')。value=parseInt(第一个)+parseInt(第二个);
document.getElementById('ans2')。value=1.112-0.00043499*parseInt(document.getElementById('ans')。value)+0.00000055*Math.pow(parseInt(document.getElementById('ans')。value),2)-0.00028826;
/*在下一行中,我不知道如何使用正确的方法括号来优先化计算,就像我在代码片段前面的示例中提到的那样*/
document.getElementById('ans3')。值=((4.95/document.getElementById('ans2')。值)-4.5)*100
}
第一个号码:
+第二个号码:

答复: 算计
不能将
[]
用作数学分组运算符;他们根本不是那样工作的。在JavaScript(以及我能想到的所有其他语言)中,只有括号充当数学分组运算符。好的!但是如果我使用()而不是[],我会得到相同的结果!请检查最后几行中的评论,看看我想做什么@仅供参考,racket和scheme的一些实现允许您使用方括号而不是parentheses@ath_zach,请阅读评论。即使您确实以您想要的方式使用了[],它也不会与使用()不同。这不是你的问题。我建议你学习如何使用调试器,逐步检查代码,看看哪里出了问题。我想说的是,Parens没有JS魔法,你不能将
[]
用作数学分组运算符;他们根本不是那样工作的。在JavaScript(以及我能想到的所有其他语言)中,只有括号充当数学分组运算符。好的!但是如果我使用()而不是[],我会得到相同的结果!请检查最后几行中的评论,看看我想做什么@仅供参考,racket和scheme的一些实现允许您使用方括号而不是parentheses@ath_zach,请阅读评论。即使您确实以您想要的方式使用了[],它也不会与使用()不同。这不是你的问题。我建议你学习如何使用调试器,逐步检查代码,看看哪里出了问题。我想说的是parensThanks再也没有JS魔法了!我真的很感激你的善意姿态@Commercial sequest提供了整个代码!再次感谢!我真的很感激你的善意姿态@Commercial sequest提供了整个代码!