【发布时间】:2019-09-20 02:46:04
【问题描述】:
我正在用 JavaScript 和 HTMl 编写一个方程计算器,但是当我在方程中输入一些数字时,屏幕上的输出显示为 NaN,即使在 Microsoft Excel 上它会输出一个数字。为什么是这样?顺便说一句,我的方程适用于虚数。 方程是这样的。
let MGErIn = document.getElementById('MGErIn');
let MGaIn = document.getElementById('MGaIn');
let MGFreqIn = document.getElementByID('MGFreqIn');
function WL3outcalc(){
return 1000/25.4*1000*2*Math.PI/(Math.sqrt(Math.pow((2*Math.PI*parseFloat(MGFreqIn.value)*Math.pow(10,9)*Math.sqrt(parseFloat(MGErIn.value))/299792458),2)-Math.pow((Math.PI/(parseFloat(MGaIn.value)*25.4/1000)),2)))
我知道等式很长,很抱歉。
例如,当我为 MGErIn 输入 1 时,我为 MGaIn 输入 0.266,我为 MGFreqIn 输入 35 我的网站输出 NaN,但在 excel 上它输出 435.8。
excel上使用的公式如下。
=IFERROR(1000/25.4*1000*2*PI()/(SQRT((2*PI()*A17*10^9*SQRT(D17)/299792458)^2-(PI()/(F17*25.4/1000))^2)),"Cutoff")
如您所见,我们的方程是相同的减去它的语法,但我的 excel 程序输出 435.8 但在我的网站上它输出 NaN。
数学奇才和编程天才,帮我解决这个问题!
【问题讨论】:
-
设置小提琴:jsfiddle.net
-
使用您建议的值... Math.sqrt 中的值是负数...至少,您更改的原始代码就是这种情况
-
更新的代码有效,给定您的输入值,它会出现
436.01086504866197 -
顺便说一句,excel给
436.010865048662不是你说的 -
set up a fiddle: jsfiddle.net- 不,你没有 - 链接断开
标签: javascript html excel math