使用jQuery .val()执行计算返回值

时间:2012-11-12 20:30:54

标签: jquery math

过去几个小时一直在尝试,但似乎无法使其发挥作用。

我需要计算总和的平方根。似乎存在使用Math.sqrt()来计算此(http://www.w3schools.com/jsref/jsref_sqrt.asp)的javascript方法。如何使用此方法以便计算总和的平方根?在填写两个输入字段后显示总和并且工作正常。

DEMO或以下代码:

$(document).ready(function(){
    $('#beers').keyup(calculate);
    $('#ranking').keyup(calculate);

function calculate(e)
{
    $('p#sum').html($('#beers').val() * 5 / $('#ranking').val() + 1); //calculation of the two fields
        /*Math.sqrt()*/ //This is the function to calculate the square root
}
});

3 个答案:

答案 0 :(得分:1)

首先,您需要将其转换为数字 因为.val()返回一个字符串,你在这里乘以两个字符串..

使用parseInt()parseFloat()首先转换为数字..

var beers = parseInt($('#beers').val() , 10 );
var rankings =  parseInt($('#ranking').val() , 10 );

var sqrt = Math.sqrt((beers * 5)/ (rankings + 1))

$('p#sum').html(sqrt); 

<强> Check Fiddle

答案 1 :(得分:1)

您需要做的是调用 Math.sqrt,传递您想要平方根的数字:http://jsfiddle.net/zLKgT/2/

$('#beers').keyup(calculate);
$('#ranking').keyup(calculate);

function calculate(e) {
    var maths = $('#beers').val() * 5 / $('#ranking').val() + 1;
    $('p#sum').text(maths);
    $('p#squareroot').text(Math.sqrt(maths));
}​

您不需要事先将任何内容转换为数字,因为您正在使用数字对象而不使用+运算符,该运算符既可用于加法也可用于连接。 Javascript会自动将val转换为数字。

答案 2 :(得分:0)

将问题解释为示例,将其转换为数字,使用var“answer”,您可以使用Jquery或其他任何您喜欢的方式在html中显示它

var numericFormat = new Number($('#beers').val() * 5 / $('#ranking').val() + 1)
var answer = Math.sqrt(numericFormat);