Правильное выражение десятичного числа, нет. {точка или точка} Использование PHP
Например, если бы у меня было:
1.2
1.65
5
9.5
125
Допустимые числа - 5
и 125
.
Недопустимые числа: 1.2
, 1.65
, 9.5
Я застрял в проверке, имеет ли число десятичное число или нет.
Я попробовал is_numeric
но он принял числа с десятичной точкой.
Если вы уверены, что is_int()
переменная не является строкой, вы можете использовать is_int()
чтобы проверить, действительно ли она или is_float()
чтобы проверить, является ли она недопустимой.
Но если вы обрабатываете формы, например, переменная часто является строкой, которая делает ее сложнее, и это простое решение, которое работает с строками, целыми числами и поплавками:
if (is_numeric($number)) {
//if we already know $number is numeric...
if ((int) $number == $number) {
//is an integer!!
}
}
Это также быстрее, чем регулярные и строковые методы.
Возможность попробовать использовать strpos
:
if (strpos($a,'.') === false) { // or comma can be included as well
echo 'Valid';
}
или попробуйте его с помощью регулярного выражения:
if (preg_match('/^\d+$/',$a))
echo 'Valid';
Примеры, взятые здесь.
Используйте is_float()
чтобы найти недопустимые числа