我正在制作一个简单的二次方程式应用程序,用户应首先输入三个数字:a,b和c。
第一步是检查所有输入值是否都是数字,很遗憾,我编写的功能无法正常工作。如果输入值不是数字,我该如何重写我的函数,以便console.log'输入有效数据'。
Here is my code:
const a_number = parseFloat(prompt("Please, enter a-number", '0'));
const b_number = parseFloat(prompt("Please, enter b-number", '0'));
const c_number = parseFloat(prompt("Please, enter c-number", '0'));
console.log(a_number, b_number, c_number);
ValidInput(a_number, b_number, c_number);
function ValidInput (a, b, c) {
if (a || b || c) {
return
} else {
console.log('Invalid input data');
}
}
答案 0 :(得分:3)
可能使用的是isNaN
或typeof
函数:
function ValidInput (a, b, c) {
if (isNaN(a) || isNaN(b) || isNaN(c)) {
console.log('Invalid input data');
} else {
return
}
}
答案 1 :(得分:2)
您可以这样编写valdiator函数:
function ValidInput(a, b, c) {
var argArr = Array.from(arguments);
return !argArr.some(isNaN);
}
答案 2 :(得分:1)
使用isNaN
const a_number = parseFloat(prompt("Please, enter a-number", '0'));
const b_number = parseFloat(prompt("Please, enter b-number", '0'));
const c_number = parseFloat(prompt("Please, enter c-number", '0'));
console.log(a_number, b_number, c_number);
ValidInput(a_number, b_number, c_number);
function ValidInput (a, b, c) {
if (isNaN(a) || isNaN(b) || isNaN(c)) {
console.log('Invalid input data');
} else {
// do something
}
}
请记住,即使您输入的内容以数字开头且包含一些非数字字符,您的代码也可以正常工作。例如,如果您键入5.5somethingelse
,则parseFloat
将采用数字,直到达到非数字值。它得到5.5
答案 3 :(得分:0)