[英]Why am i getting NaN error?
我有一个程序可以从我收到的编码挑战中读取特定的文本文件,然后将这些数字放入数组中以解决二次方程式。 当我显示我的答案时,我在所有值上始终遇到NaN错误,并且找不到混乱的地方。
var lines = data[0].split("/n");
var numQuads = lines[0];
for (var i = 1; i < numQuads; i++){
var fields = lines[i].split(",");
var a = fields[0];
var b = fields[1];
var c = fields[2];
}
a = parseInt();
b = parseInt();
c = parseInt();
var discr = (b * b) - (4 * (a * c));
var sqrDiscr = Math.sqrt(discr);
var x = (-b + sqrDiscr) / (2*a);
var y = (-b - sqrDiscr) / (2*a);
var outputL = "The quadratic equation with coefficients A = " + a + " B = " + b + " C= " + c + " has no real roots!";
var outputW = "The quadratic equation with coefficients A = " + a + " B = " + b + " C= " + c + " has roots x = " + x + " and x = " + y;
if (discr >= 0) {
output += outputW + "\n";
}
else {
output += outputL + "\n\n";
}
您没有为parseInt
函数提供参数。 它的工作方式如下:例如parseInt("2")
。 您可能要使用parseFloat
而不是parseInt
。
另一句话:您的data
数组未定义。
您在parseInt()中插入了String
a = parseInt("67");
b = parseInt("3");
c = parseInt("2");
应该可能是:
a = parseInt(a);
b = parseInt(b);
c = parseInt(c);
问题是var lines = data[0].split("/n");
我使用了错误的字符。 应该是var lines = data[0].split("\\n");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.