2013-05-01 3 views
1

jQuery 2 차 방정식을 풀 때 내 코드에서 무엇이 잘못 되었습니까?jQuery 2 차 방정식

a = parseFloat($('#a').val()); 
b = parseFloat($('#b').val()); 
c = parseFloat($('#c').val()); 
root = Math.sqrt(Math.pow(b, 2) - (4 * a * c)); 
x1 = (-b + root)/2 * a; 
x2 = (-b - root)/2 * a; 

function validateForm(){ 
      $('#result1').fadeIn('slow'); 
      $('#result2').fadeIn('slow'); 
      $('#result1').html('First ans equal' + x1); 
      $('#result2').html('Second ans equal' + x2); 
} 

어쩌면 그 뿌리 또는 포로? 내가 알아낼 수 있도록 도와주세요

+0

참조 fetchIn ('slow');'. 자바 스크립트 콘솔에 오류가 있습니까? –

+0

이 코드가 실행되면 어떻게됩니까? 오류가 발생합니까? jsfiddle를 사용하여 예제를 제공 할 수 있습니까? – 97ldave

+0

이 코드에서는 'Not a Number'(NaN)가 나타납니다. 같은 것을 보십니까? – WheretheresaWill

답변

1

간단한 수학. jQuery/Javascript는 거의 기여하지 못했습니다. JQuery와/자바 스크립트 부분에 대한

:

당신이 당신의 코드를 실행하면 확인 #a, #b,#c 값이 있는지 확인하십시오. 이 점에서 할 수있는 즉

$('#a').val() = some valid Float text 

한 가지 함수 내부에 변수 a,b,c을 래핑하는 것입니다.

#a, #b, #c 값이 있다고 확신하는 경우에만 버튼을 클릭하거나 해당 기능을 호출하십시오.

은 아래 그림을 참조하십시오

var x1,x2; 
function calculate(){ 

    a = parseFloat($('#a').val()); 
    b = parseFloat($('#b').val()); 
    c = parseFloat($('#c').val()); 

    root = Math.sqrt(Math.pow(b, 2) - (4 * a * c)); 

    x1 = (-b + root)/2 * a; 
    x2 = (-b - root)/2 * a; 
} 

$('#validate').on("click",function(){ 
    calculate(); 
    $('.result').html('').append('first answer'+x1).append('second answer'+x2); 
}); 

수학 파트.

이차 방정식에 합리적인 뿌리가있는 한 정상적으로 작동합니다. 즉
coefficients(a,b,c)에 값을 부여하면 이차 방정식에 유리한 근거가 없으므로 x1 및 x2에 NaN이 표시됩니다. 결과는 실수가 아니라 복합 숫자이므로 얻을 수 있습니다. 그래서 매번 Math.pow(b, 2) - (4 * a * c) < 0

, 당신은 어떤 진짜 뿌리는 X1과 X2 내부 NaN를 얻을 것이다, 즉 얻을하지 않을 수 있습니다

`) (당신이 당신의`.fadeIn을 결합 할 수 있습니다, 참고로이 fiddle