2013-10-07 55 views
0

我有這些值 int score = 7,回答= 40,跳過= 0,totalRecords = 2;NSNumber給出錯誤的值

NSNumber *percentage =[NSNumber numberWithFloat:(score/(answered + skipped))/totalRecords]; 

它返回0.000而不是0.0875。 問題出在哪裏

+1

不能分割整數,並得到花車。你需要投到浮動。即1/2 = 1但是1.0/2.0 = 0.5。 – Fogmeister

+0

使用float值而不是int!嘗試這個NSNumber *百分比= [NSNumber numberWithFloat:(7.0 /(40.0 + 0))/ 2.0]; NSLog(@「%@」,百分比); –

回答

1

將初始值從int更改爲float:

float score = 7.0, answered = 40.0, skipped = 0.0, totalRecords = 2.0; 
1

您使用整數,因此是圓0

您需要創建爲浮動:

float score = 7.0 

或更改值花車:

scoreFloat = (float)score; 
1

而不是使用浮點型變量,你真的應該使用整數,你可以只投分母

NSNumber *percentage =[NSNumber numberWithFloat: 
      (score/(float)(answered + skipped))/(float)totalRecords];