Предполагая, что среда, совместимая с c99 и IEEE-754,
(trunc(x) == x)
является другим решением и будет (на большинстве платформ) иметь немного лучшую производительность, чем modf
, потому что ей нужно только произвести целое число часть.
Обратите внимание, что trunc
дает результат с двойной точностью, поэтому вам не нужно беспокоиться о преобразованиях вне диапазона, как это было бы с (int)x
.
Изменить: как указывает @pavon в комментарии, вам может потребоваться добавить еще одну проверку, в зависимости от того, заботитесь о бесконечности или нет, и какой результат вы хотите получить, если x
бесконечен.
У вас должна быть возможность просто запустить select * from information_schema.tables
, чтобы получить список всех таблиц, которыми управляет Postgres, для конкретная база данных.
Вы также можете добавить where table_schema = 'information_schema'
, чтобы видеть только таблицы в информационной схеме.
\dt information_schema.
изнутри psql, должно быть хорошо.