实现函数isNumeric,使得其能够正确判断以下各种情况:
function isNumeric(str) {
// your code goes here
}
// console.assert:如果断言为false,则将一个错误消息写入控制台。如果断言是true,没有任何反应。
console.assert(isNumeric('1000'));
console.assert(isNumeric('-100.'));
console.assert(isNumeric('.1'));
console.assert(isNumeric('-3.2'));
console.assert(isNumeric('001'));
console.assert(isNumeric('+4.5'));
console.assert(isNumeric('1e3'));
console.assert(isNumeric('1e-3'));
console.assert(isNumeric('-100e-3'));
console.assert(!isNumeric('++3'));
console.assert(!isNumeric('-100..'));
console.assert(!isNumeric('3abc'));
console.assert(!isNumeric('abc'));
console.assert(!isNumeric('-3e3.2'));
console.assert(!isNumeric('Infinity'));
console.assert(!isNumeric('-Infinity'));
console.assert(!isNumeric(''));
代码
// code1
function isNumeric(str) {
if (typeof str !== 'string' || str === '') return false;
const num = Number(str);
return num < Infinity && num > -Infinity;
}
// code2
function isNumeric(obj) {
return !isNaN(parseFloat(obj)) && isFinite(obj);
}
网友评论