Jquery 我的平方根函数不是';行不通

Jquery 我的平方根函数不是';行不通,jquery,calculator,Jquery,Calculator,我正在用HTML和jQuery构建一个计算器 看看我的平方根函数。当我按下sqrt按钮时,它返回NaN。为什么?我刚刚尝试过放置parseFloat(number),它也返回NaN。请帮帮我 Jquery: $(document).ready(function(){ var testNumLength = function(number) { if (number.length > 9) { totaldiv.text(number.su

我正在用HTML和jQuery构建一个计算器

看看我的平方根函数。当我按下sqrt按钮时,它返回NaN。为什么?我刚刚尝试过放置
parseFloat(number)
,它也返回NaN。请帮帮我

Jquery:


$(document).ready(function(){
    var testNumLength = function(number) {
        if (number.length > 9) {
            totaldiv.text(number.substr(number.length-9,9));
            if (number.length > 15) {
                number = "";
                totaldiv.text("Err");
            }
        } 
    };
    var number = "";
    var newnumber = "";
    var operator = "";
    var totaldiv = $("#total");
    totaldiv.text("0");
    $("#numbers a").not("#clear,#clearall").click(function(){
        number += $(this).text();
        totaldiv.text(number);
        testNumLength(number);
    });
    $("#operators a, #side a").not("#equals, #decimal").click(function(){
        operator = $(this).text();
        newnumber = number;
        number = "";
        totaldiv.text("0");
        if($(this).attr('id') === "sqrt") {
            operator = "sqrt";
            $("#equals").click();
        }
    });
    $("#clear,#clearall").click(function(){
        number = "";
        totaldiv.text("0");
        if ($(this).attr("id") === "clearall") {
            newnumber = "";
        }
    });
    //Add your last .click() here!
    $("#equals").click(function(){
        if (operator === "+"){
            number = (parseInt(number, 10) + parseInt(newnumber,10)).toString(10);
        } else if (operator === "-"){
            number = (parseInt(newnumber, 10) - parseInt(number,10)).toString(10);
        } else if (operator === "÷"){
            number = (parseInt(newnumber, 10) / parseInt(number,10)).toString(10);
        } else if (operator === "×"){
            number = (parseInt(newnumber, 10) * parseInt(number,10)).toString(10);
        } else if (operator === "sqrt") {
            number = Math.sqrt(parseFloat(number,10)).toString(10);
        }
        totaldiv.text(number);
        testNumLength(number);
        number = "";
        newnumber = "";
    });
    $('#decimal').click(function(){
        var numOfDecs = 0;
        for(var i = 0; i < number.length; i++){
            if(number[i] === ".") {
                totaldiv.text(number[i]);
            }
        }
        if (numOfDecs === 0) {
            number.append('.');
            totaldiv.text(number);
            testNumLengh(number);
        }
    })
});
Jquery:
$(文档).ready(函数(){
var testNumLength=函数(编号){
如果(number.length>9){
totaldiv.text(number.substr(number.length-9,9));
如果(数字长度>15){
数字=”;
totaldiv.文本(“错误”);
}
} 
};
var数=”;
var newnumber=“”;
var运算符=”;
var totaldiv=$(“总计”);
总分类文本(“0”);
$(“#数字a”)。不(“#清除,#清除全部”)。单击(函数(){
number+=$(this.text();
totaldiv.text(数字);
测试长度(数字);
});
$(“#运算符a,#边a”)。非(“#等于,#小数”)。单击(函数(){
运算符=$(this.text();
newnumber=number;
数字=”;
总分类文本(“0”);
if($(this.attr('id')=“sqrt”){
operator=“sqrt”;
$(“#等于”)。单击();
}
});
$(“#清除,#清除所有”)。单击(函数(){
数字=”;
总分类文本(“0”);
if($(this.attr(“id”)==“clearall”){
newnumber=“”;
}
});
//在此处添加最后一个。单击()!
$(“#等于”)。单击(函数(){
如果(运算符==“+”){
number=(parseInt(number,10)+parseInt(newnumber,10)).toString(10);
}else if(运算符==“-”){
number=(parseInt(newnumber,10)-parseInt(number,10)).toString(10);
}否则如果(运算符==“÷”){
number=(parseInt(newnumber,10)/parseInt(number,10)).toString(10);
}else if(运算符==“×”){
number=(parseInt(newnumber,10)*parseInt(number,10)).toString(10);
}else if(运算符==“sqrt”){
number=Math.sqrt(parseFloat(number,10)).toString(10);
}
totaldiv.text(数字);
测试长度(数字);
数字=”;
newnumber=“”;
});
$(“#十进制”)。单击(函数(){
var numodecs=0;
对于(变量i=0;i
这是一把小提琴:
如果您在此处发出
警报
,您将看到
编号
未在此处传递或传递为无值

else if (operator === "sqrt") {
    // alert(number);
    number = Math.sqrt(parseFloat(number,10)).toString(10);
}

根据SK Jajoriya的建议。但是请注意,您必须绕过具有长编号的约束。

如果您在此处发出
警报
,您将看到
编号
未在此处传递或传递为无值

else if (operator === "sqrt") {
    // alert(number);
    number = Math.sqrt(parseFloat(number,10)).toString(10);
}

根据SK Jajoriya的建议。但请注意,您必须绕过具有长编号的约束。

使用编号=新编号;而不是数字=”;在运算符中单击函数,因为平方根函数取数字的值。它适用于平方根函数。

使用number=newnumber;而不是数字=”;在运算符中单击函数,因为平方根函数取数字的值。它适用于平方根函数。

请添加您的html,或者更好,创建一个带有问题示例的工作代码段。请添加您的html,或者更好,创建一个带有问题示例的工作代码段。如何使其通过?如何使其通过?