javascript - Javascript 计算器中的平方根未显示

标签 javascript calculator

我制作一个 javascript 计算器已经有一段时间了,我可以获得所有基本函数和 pow() 函数,但我无法让它执行 Math.sqrt() 函数。过去几天我一直遇到这个问题。这是我的代码,提前致谢:

function calc()
{
    var D = "";
    var A = document.getElementById("num1").value;
    var B = document.getElementById("op").value;
    var C = document.getElementById("num2").value;
    X = parseInt(A);
    S = 2
    var Z = "If you're seeing this, that means that the code isn't working!!"
    D = eval(A + B + C);
    if (B == "%")
    {
        D = ""
        Z = Math.sqrt(X)*1
    }
    else if (B == "^")
    {
        D = ""
        Z = Math.pow(X, C)
    }
    else if (B == "^2")
    {
        D = ""
        Z = Math.pow(X, S)
    }
    else if (B == "")
    {
        D = "No Operator"
        Z = ""
    }
    document.getElementById("result").value = D;
    document.getElementById("sqrt-result").value = Z;       
    return false;
}

最佳答案

我刚刚测试了它,你的代码工作正常。我的假设是,您正在尝试使用平方根功能,而不是在 num2 中放入任何内容,这对于计算数字的平方根来说似乎很自然。但是,如果您打开错误控制台,您会发现 eval 不喜欢在您尝试在运算符之后不进行任何操作的情况下计算某些内容。我的建议是将 eval 移到 if 下方,以便仅在需要时使用它。

function calc()
{
    var D = "";
    var A = document.getElementById("num1").value;
    var B = document.getElementById("op").value;
    var C = document.getElementById("num2").value;
    X = parseInt(A);
    S = 2
    var Z = "If you're seeing this, that means that the code isn't working!!"
    if (B == "%")
    {
        Z = Math.sqrt(X)*1
    }
    else if (B == "^")
    {
        Z = Math.pow(X, C)
    }
    else if (B == "^2")
    {
        Z = Math.pow(X, S)
    }
    else if (B == "")
    {
        D = "No Operator"
        Z = ""
    } else {
        // Only do this if not doing any of the above calculations
        D = eval(A + B + C);
    }
    document.getElementById("result").value = D;
    document.getElementById("sqrt-result").value = Z;       
    return false;
}

关于javascript - Javascript 计算器中的平方根未显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16590287/

相关文章:

Java - 尝试生成阶乘

php计算字符串值: "2+4+3-12+3-5"

javascript - 通过 jquery/javascript 访问 iframe 元素

javascript - Angularjs 的智能表模块 - 与处理其指令相关的问题

javascript - 在 HTA 中使用 JavaScript 和 XML?

javascript - Shopify 产品价格除以 10

java - 为什么我的程序四舍五入错误?

c++ - 如何用算术运算操作两个参数的结果?

javascript - 相同结构的 jQuery AJAX XML

java - 如何忽略空的EditText?