Проверьте, имеет ли число десятичный разряд/, целое число

Я ищу простой способ в JavaScript, чтобы проверить, имеет ли число десятичный разряд в нем (чтобы определить, является ли это целое число). Например,

23 -> OK
5 -> OK
3.5 -> not OK
34.345 -> not OK
if(number is integer) {...}
252
задан reformed 24 July 2016 в 13:12
поделиться

4 ответа

Использование модуля будет работать:

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
739
ответ дан 23 November 2019 в 02:51
поделиться
var re=/^-?[0-9]+$/;
var num=10;
re.test(num);
4
ответ дан 23 November 2019 в 02:51
поделиться

// Как насчет байтов?

Number.prototype.isInt= function(){
 return this== this>> 0;
}

Я всегда плохо себя чувствую из-за битовых операторов в javascript-

они почти не получают никаких упражнений .

19
ответ дан 23 November 2019 в 02:51
поделиться

Наиболее распространенным решением является удаление целой части числа и сравнение его с нулем, например, так:

function Test()
{
     var startVal = 123.456
     alert( (startVal - Math.floor(startVal)) != 0 )
}
20
ответ дан 23 November 2019 в 02:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: