javascript - jQuery 二次方程

标签 javascript jquery

我求解 jQuery 二次方程的代码有什么问题?

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);
}

也许是根,或者战俘?请帮我解决这个问题

最佳答案

这是简单的数学。 jQuery/Javascript 在这方面几乎没有什么贡献。

对于 jquery/Javascript 部分:

确保#a, #b,#c当您运行代码时具有值。即

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

在这方面你可以做的一件事就是包装你的变量 a,b,c在函数内部。

并在单击某个按钮时调用该函数,或者仅在您确定 #a 后调用该函数, #b , #c有值(value)。

见下图:

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)一个值,您的二次方程没有有理根,在这种情况下您将得到 NaN在你的 x1 和 x2 中,因为你得到的结果不是实数而是复数。

每次都是这样Math.pow(b, 2) - (4 * a * c) < 0 ,您不会得到任何实根,即您将在 x1 和 x2 中得到 NaN

看到这个fiddle

关于javascript - jQuery 二次方程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16314767/

相关文章:

javascript - 通过 javascript 进行多种类型的验证

javascript - 如何将正文的滚动条用于文本区域

javascript - 使用 JavaScript 访问本地文件

javascript - 在 Android 和 iPhone 的 JS 链接标签上触发点击事件

javascript - HTML 表单提交导致 IE11 中出现空白页

javascript - Bootbox 确认不工作

javascript - 实时搜索(键入时动态过滤结果)- Bootstrap、jQuery

jquery - objective-c SS :after via Jquery?

javascript - 通过追加将方法链接到新插入的元素

javascript - 将 Babel 添加到 HTML