2013-03-23 64 views
2

在我的應用程序中,我正在檢查一個CG語句的x值是否與if語句中的零不同。然而,應用程序會輸入if語句,但該點的x值爲零。這裏是代碼:CGFloat比較錯

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

運行的應用程序「是」印雖然它不應該作爲previousPoint是(0.000000,0.000000)我怎樣才能解決這個問題之後?

+0

它是一個浮點值,它似乎將float(x)與int(0)進行比較。使用0.0 – 2013-03-23 13:49:25

+0

'previousPoint'曾經給過一個值嗎?另外,你應該使用'if(previousPoint.x!= 0.0f' – 2013-03-23 13:49:41

回答

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))); 
     } 
    } 
+0

謝謝!經驗教訓:) – HusseinB 2013-03-23 14:15:33