【问题标题】:Calculation returns 0 objective-c [duplicate]计算返回 0 目标-c [重复]
【发布时间】:2013-05-13 01:46:28
【问题描述】:

我正在尝试计算从文本字段中获取值并将其乘以标签值的平均值。

int grade1 = [[self.Cw1Grade text]intValue];
    int grade1weight = self.weight1.text.intValue;

    int a1grade = grade1 / 100; 
    int a1total = a1grade * grade1weight;
    NSString *grade1total = [NSString stringWithFormat:@"%d", a1total];
    [self.averageLabel setText:grade1total];

感谢您的宝贵时间

【问题讨论】:

  • 这是一个标准的新手错误。当您对整数进行算术运算时,您会得到一个向下截断的整数结果。因此,例如,将 96 除以 100 将得到零。使用浮点数。
  • Objective-C 是 C。学习 C。哦,发帖前请先搜索一下。

标签: objective-c c uitextfield int uilabel


【解决方案1】:

你不能这样除整数。或者好吧,你可以,但你不会得到你期望的结果,因为整数除法返回整数(结果将向下舍入到下一个整数)

试试这个:

float a1grade = (float)grade1 / 100;

float a1grade = grade1 / 100.0;

如果至少有一个操作数是浮点数,则您将进行浮点除法。但当然,在这种情况下,您必须将结果存储在浮点变量中。

别忘了,浮点数的字符串格式说明符是%f,而不是%d

【讨论】:

    猜你喜欢
    • 2013-12-13
    • 2014-08-23
    • 2018-08-04
    • 1970-01-01
    • 2019-10-25
    • 1970-01-01
    • 1970-01-01
    • 2016-12-30
    • 1970-01-01
    相关资源
    最近更新 更多