如何检查输入值是否等于数字

时间:2017-08-22 21:06:01

标签: javascript

如何检查bath值是否等于数字而不是任何其他类型的值?我尝试过使用NaN,但它还没有用。



	if(bath != '') {
		var bath = 'there is this many bathrooms :'
		house['bathroom'] = square;
		bathRoom.innerHTML = bath + Bath; 
	}else{
		var bath = 'No Details Given';
		bathRoom.innerHTML = bath;

	}




4 个答案:

答案 0 :(得分:1)

Mozilla's JavaScript webdocs上有一篇关于如何执行此操作的精彩文章:

  

Number.isInteger()方法确定传递的值是否为   一个整数。

所以,你会像这样使用Number.isInteger()

Number.isInteger(0);         // true
Number.isInteger(1);         // true
Number.isInteger(-100000);   // true

Number.isInteger(0.1);       // false
Number.isInteger(Math.PI);   // false

Number.isInteger(NaN);       // false
Number.isInteger(Infinity);  // false
Number.isInteger(-Infinity); // false
Number.isInteger('10');      // false
Number.isInteger(true);      // false
Number.isInteger(false);     // false
Number.isInteger([1]);       // false

答案 1 :(得分:0)

您还可以使用typeof运算符检查变量的类型。

var a = 1
console.log(typeof a) // --> "number"

答案 2 :(得分:0)

isNaN

如果您要检查变量是否为数字,可以使用isNaN()

当值不是数字时,它将返回true;当值是数字时,它将返回false。要反过来,您可以否定它(使用!运算符,将true变为false,将false变为true。)

var a = 5;
!isNaN(a); //Returns true

var b = "b";
!isNaN(b); //Returns false

您可以在MDN上详细了解isNaN

答案 3 :(得分:0)

像这样(使用原始代码的自定义版本):

var bath;

// here bath takes value some way...
// it may be: from direct user input, server AJAX request, JS expression...

if (typeof bath === "number") {
    // bath is a number
} else{
    // bath is NOT a number
}