Проверка, является ли float целым числом

Как я могу проверить, содержит ли переменная float целочисленное значение? До сих пор я использовал:

float f = 4.5886;
if (f-(int)f == 0)
     printf("yes\n");
else printf("no\n");

Но мне интересно, есть ли лучшее решение или у этого есть какие-либо (или многие) недостатки.

65
задан mskfisher 9 May 2012 в 19:59
поделиться