私はギターのための完全なフレットボードを構築するためにluthierのためのすべての計算を行うことを意味している小さなデバイスでいくつかの問題を抱えています。jQuery数式の問題 - 不正確な結果またはNaN
http://codepen.io/JTBennett/pen/xqgGER
プログラムがcodepenにあり、これまでのところ、左半分は(距離計算値フレット)スパゲッティにもかかわらず、正常に動作します...私は疲れていました。あなたは以下の値で問題を再作成することができ
$("#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
発行プレゼント
しかし、私は、右側の最終的な計算(formula2)との問題を抱えています式2のフィールドに入力します。小数点のある半径の点の値をとると、結果はNaNになります。整数では、単にナット半径(12)の値を繰り返します。
私は数式が正しいことを再度確認しました。ここに基礎を見ることができます:http://www.stewmac.com/How-To/Online_Resources/Neck_Building_and_Repair_and_Setup/Compound_Radius_Explained.html ページの下部に、2番目の数式(2)で問題が発生しています。
ここで何が起こっているのでしょうか?私は世界で最大の数学魔術師ではないので、どんな助けでも大いに感謝します!
よろしく、 ジョエル
( '.val)'常に** **文字列を返します。したがって、 '(X + D)'部分式は数値の加算ではなく文字列連結を実行します。 – Pointy
'val()'は文字列を返します。 'parseFloat()'を使用して、計算で使用できる浮動小数点に変換する必要があります。 –
**何もjQueryとは何も関係ありません。 – vsync