Проверить наличие .25
Как правильно проверить есть ли в цифре .25?
К примеру:
0.25
1.25
2.25
6
7
8.50
Нужно проверить, присутствует ли .25? Регуляркой наверное это говноедство.
Источник: Stack Overflow на русском
Как правильно проверить есть ли в цифре .25?
К примеру:
0.25
1.25
2.25
6
7
8.50
Нужно проверить, присутствует ли .25? Регуляркой наверное это говноедство.
Точная проверка подразумевает, что число при совпадении у нас равно х.25 и ничему другому
if (fmod(number, 1) === 0.25) {
...
}
Неточная обращается с числом, как со строкой и ищет именно совпадение .25 (при этом подпадет 2.2566, скажем)
if (strpos((string) number, '0.25') !== false) {
...
}
при этом, скорее всего, потребуется number_format()
, чтобы избежать представлений типа 1E+15. Ну и по факту это действительно что регуляркой, что простым поиском - одно и то же.
Впрочем, первый вариант можно модифицировать, чтобы он работал, как второй:
if (($mod = fmod(number, 1)) < 0.26 && $mod > 0.24) {
...
}