2012-11-17 57 views
1

你好這裏的人是我的問題: 如何減少浮點數只有小數? %.1對我來說是最好的,但是當我與另一個像unNumero = 1.7f的浮點比較時,代碼不會這樣做。我認爲,因爲浮動有更多的數字。我該如何解決這個問題。我需要將stopCrono的結果與一些隨機浮點數進行比較,但限制爲2位小數。對不起,我的英語不是我的母語。 這是我的代碼浮點數小數點比較cocos2d

- (無效)startCrono:(ccTime)增量{

totalTime += delta ; 
currentTime = totalTime; 
timeLimit = 2.0f; 
[timeLabel setString:[NSString stringWithFormat:@"%.1f ",currentTime ]]; 
if (currentTime >= timeLimit) { 

    [self unschedule:_cmd]; 
    } 

} - (無效)stopCrono:(ccTime)crono2 {

[self unschedule:@selector(startCrono:)]; 
unNumero = 1.7f; 

if(unNumero == currentTime){ 

    CCLOG(@"OK"); 
} 

}

如果staetment不起作用CClog不打印確定當我停止我的crono在1.7

回答

1

由於浮點運算不準確,因此比較兩個浮點值以查看它們是否與==運算符相等,通常不會產生您所期望的結果。我建議你使用Bruce Dawson的this article,這是一個關於浮點數的優秀系列的一部分,以瞭解如何以適當的方式比較浮點值(提示:它比看起來要困難得多)。

+0

非常感謝! – user1832082