怎么判断一个浮点数小数部分全部是0

如何判断一个浮点数小数部分全部是0?
如何判断一个浮点数小数部分全部是0?

------解决方案--------------------
尽量避免这种需要。
浮点数不能用于需要精确运算的场合。
使用浮点数,你只能指望误差足够小。
------解决方案--------------------
p = p - round(p);
if( !(p> 0) && !(p <0)) {...}
------解决方案--------------------
p = p - round(p);
if( !(p> 0) && !(p <0)) {...}

上楼,这个比较仍然是不精确的
------解决方案--------------------
p = p - round(p);
if( p> -0.0000001) && p <0.00000001)) {...}
------解决方案--------------------

if (fabs(f - (int)f) < FLT_EPSILON)
{

}
------解决方案--------------------

struct floatStruct
{
unsigned mantissa: 23;
unsigned exponent: 8;
unsigned sign: 1;

};

int main()
{
float x = 1.0;
floatStruct *p = (floatStruct*)&x;
if ( ( (floatStruct*)&x )-> mantissa == 0)
printf( "all zero bit in mantissa\n ");


return 0;
}
------解决方案--------------------
mark
------解决方案--------------------
尾数部分为0不代表小数部分为0啊
这个很难啊
------解决方案--------------------
说说你的原始需求吧。