-1

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

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

演示或代码如下:

$(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
}
});
4

3 回答 3

1

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

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

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

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

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

检查小提琴

于 2012-11-12T20:34:04.653 回答
1

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

$('#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 会自动将vals 转换为数字。

于 2012-11-12T20:46:54.257 回答
0

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

var numericFormat = new Number($('#beers').val() * 5 / $('#ranking').val() + 1)
var answer = Math.sqrt(numericFormat);
于 2012-11-12T20:33:28.587 回答