Ответ 1
Если вы округлите число вниз (что вы можете сделать, используя функцию пола), а затем вычтите его из исходного номера, вы получите разницу между ними.
if (number - floor(number) > 0.000001) { // 0.000001 can be changed depending on the level of precision you need
// decimal
}
Изменить -
В моем первоначальном ответе рекомендуется рассчитать разницу между числом и его эквивалентом пола, чтобы увидеть, есть ли какие-либо единицы после десятичных точек. Однако, как описано ниже, может быть ошибка округления, которая приводит к тому, что представление значения в памяти будет немного отличаться от того, что оно на самом деле означает.
Например, 3.0 может быть представлено как 3.00000000000001, и поэтому number - floor(number) > 0
вернет true, хотя теоретически он должен был бы возвратить false, поскольку смещение будет 0.00000000000001.
Поэтому, пожалуйста, используйте @jessy ответ ниже.