我遇到了一些麻烦,我正在制作一个小设备,它旨在执行所有的计算,以便为一个吉他构建完美的指板。jQuery Math Formula问题 - 不正确的结果或NaN
http://codepen.io/JTBennett/pen/xqgGER
该计划是在codepen,到目前为止,左半边(FRET距离计算)工作正常,尽管意大利面......我累了。
但我在与右侧的最终计算(formula2)一个问题:
$("#fc_calc2").click(function() {
var T = $("#frN_12").html()
var St = $("input[id='St']").val()
var Sn = $("input[id='Sn']").val()
var X = (T)/((St/Sn) - 1)
$("#formula1").text(X.toFixed(3))
var Rn = $("input[id='Rn']").val()
var D = $("input[id='radius']").val()
var Rd = ((Rn * (X + D))/X)
$("#formula2").text(Rd.toFixed(3));
});
你可以用下面的值重现该问题:
Scale Length = 25.1 (You must press this button to calculate the left side first)
(E to E @ Nut) = 1.406
(E to E @ 12th) = 1.719
(Nut Radius) = 12
(Radius Point) = 18.825
问题礼物在公式2字段中。用带小数点的半径点值,结果为NaN。用整数,它只是重复了螺母半径(12)的值。
我再次检查我的公式是否正确 - 您可以在此处看到基础:http://www.stewmac.com/How-To/Online_Resources/Neck_Building_and_Repair_and_Setup/Compound_Radius_Explained.html 在页面底部,问题出现在第二个公式(2)中。
任何想法这里发生了什么?我不是世界上最伟大的数学魔术师,所以任何帮助将不胜感激!
问候, 乔尔
'.VAL()'总是返回一个字符串** **。因此'(X + D)'子表达式将执行字符串连接,而不是数字加法。 – Pointy
'val()'返回一个字符串。您需要使用'parseFloat()'将其转换为可用于计算的浮点数 –
具有**没有**与jQuery相关 – vsync