软件架构师何志丹
void CDoublePoint::ChangeToDirect()
{
if( x > 0 )
{
x = 1 ;
}
else if( x < 0 )
{
x = -1;
} if( y > 0 )
{
y = 1 ;
}
else if( y < 0 )
{
y = -1 ;
}
}
两个相同的double相减,结果可能是0.00001,于是x或y等于1.
void CDoublePoint::ChangeToDirect(const double ZERO)
{
if( x > ZERO )
{
x = 1 ;
}
else if( x < -ZERO )
{
x = -1;
}
else
{
x = 0 ;
} if( y > ZERO )
{
y = 1 ;
}
else if( y < -ZERO )
{
y = -1 ;
}
else
{
y = 0 ;
}
}