我遇到了一些麻煩,我正在製作一個小設備,它旨在執行所有的計算,以便爲一個吉他構建完美的指板。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