NSLog(@"Number: %f", [self calculateScore]);
- (CGFloat)calculateScore {
CGFloat score;
score = (_bestPossibleMove/_movesMade) * 5.0;
return score;
}
所以我有2個實例變量_bestPossibleMove和_movesMade。前者從一開始就設爲6.0,而在比賽結束時後者爲16.0。當我到達NSLog消息時,調用[self calculateScore]會給我0.0000,當它給我一個略小於5.0且大於0.0的數字時。有什麼理由呢?NSLog float output 0.00000
'_bestPossibleMove'和'_movesMade'的數據類型是什麼? – rmaddy
你有沒有在NSLog之前放置一個斷點並檢查它們是否正確? – GregP
@rmaddy是一些東西:如果變量是int類型,那麼除法將會是0或1(只有當_bestPossibleMove == _movesMade時),給你0或5的分數。 – fbrereto