Я ищу простой способ в JavaScript, чтобы проверить, имеет ли число десятичный разряд в нем (чтобы определить, является ли это целое число). Например,
23 -> OK
5 -> OK
3.5 -> not OK
34.345 -> not OK
if(number is integer) {...}
Использование модуля будет работать:
num % 1 != 0
// 23 % 1 = 0
// 23.5 % 1 = 0.5
Обратите внимание, что это основано на числовом значении числа независимо от формата. Числовые строки, содержащие целые числа с фиксированной десятичной точкой, обрабатываются так же, как и целые числа:
'10.0' % 1; // returns 0
10 % 1; // returns 0
'10.5' % 1; // returns 0.5
10.5 % 1; // returns 0.5
// Как насчет байтов?
Number.prototype.isInt= function(){
return this== this>> 0;
}
Я всегда плохо себя чувствую из-за битовых операторов в javascript-
они почти не получают никаких упражнений .
Наиболее распространенным решением является удаление целой части числа и сравнение его с нулем, например, так:
function Test()
{
var startVal = 123.456
alert( (startVal - Math.floor(startVal)) != 0 )
}