NSNumber提供错误的价值

时间:2013-10-07 10:13:41

标签: objective-c nsnumber

我有这些价值观         int score = 7,answer = 40,skipped = 0,totalRecords = 2;

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

它返回0.000而不是0.0875。 问题出在哪里

3 个答案:

答案 0 :(得分:1)

您正在使用整数,因此舍入为0。

您需要将它们创建为float:

float score = 7.0

或者将您的值更改为浮点数:

scoreFloat = (float)score;

答案 1 :(得分:1)

将初始值从int更改为float:

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

答案 2 :(得分:1)

除了使用浮点变量,你真的应该使用整数,你可以只使用分母

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