2012-10-12 138 views
1
CGFloat result=100/126; 
NSLog(@"%0.5f",result); 

上面代碼的輸出是0.00000,但是當我在計算器上檢查它的值是0.79365。有什麼問題劃分結果不正確

回答

6

問題在於除法的操作數都是整數,所以執行整數除法並且結果爲0.要獲得適當的值,您需要確保至少有一個操作數是浮點數:

CGFloat result=100.0f/126; 
+0

你能解釋或給任何網絡鏈接,爲什麼它在整數除0。 –

+0

O得到了UR點。 –

+0

@Developer請參閱此處的解釋:http://stackoverflow.com/a/11969403/716216 –

1

可能是因爲你的變量是整數。做到這一點

CGFloat result=100.0/126.0; 
NSLog(@"%0.5f",result);