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 ; } }