CGFloat比较错了

时间:2013-03-23 13:47:11

标签: ios objective-c quartz-graphics

在我的应用程序中,我在if语句中检查CGPoint的x值是否不等于零。但是,应用程序输入if语句,尽管该点的x值为零。这是代码:

CGPoint previousPoint;

     if (previousPoint.x != 0) {
            NSLog(@"YES");
            CGContextMoveToPoint(context, previousPoint.x, previousPoint.y);
            CGContextAddLineToPoint(context, 150+(40*[[[self.grades objectAtIndex:i] semesterGPA] doubleValue]), 59+(40*(i+1)));
        }
    }

运行应用程序“YES”后打印虽然它不应该像previousPoint那样(0.000000,0.000000)如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

确保previousPoint启动时具有一定价值!并将float与float比较,而不是int。

CGPoint previousPoint;

     if (previousPoint.x != 0.0f) {
            NSLog(@"YES");
            CGContextMoveToPoint(context, previousPoint.x, previousPoint.y);
            CGContextAddLineToPoint(context, 150+(40*[[[self.grades objectAtIndex:i] semesterGPA] doubleValue]), 59+(40*(i+1)));
        }
    }