0

代码:

-(IBAction)addRounds{
NSString *addText = [NSString stringWithFormat:@"%@", self.roundsF.text];
NSString *totalText = [NSString stringWithFormat:@"%@", self.totalRoundsF.text];

int value = [totalText intValue] - [addText intValue];

NSNumber *val = [NSNumber numberWithInt:value];

NSString *final = [NSString stringWithFormat:@"%@", val.stringValue];

self.totalRoundsF.text = final;
}

上面的代码完美运行,但是当它在文本字段中显示数据时,它会显示如下内容:-10数字 10 是正确的,我只是不想要一个-符号。非常感谢任何帮助,非常感谢!

4

3 回答 3

6

您根本不想要负值吗?在这种情况下,使用abs绝对值。这总是会给你积极的价值观。

根据变量的类型,abs(int), labs(long), llabs(long long), imaxabs(intmax_t), fabsf(float), fabs(double), 或之一fabsl(long double)

这些函数是 C 库的一部分,也存在于 Objective-C 库中。您可能必须导入math.h才能使用它们。

所以在你的情况下abs(val); //will give +10

于 2012-12-12T03:30:27.507 回答
2

将其更改NSNumber *val = [NSNumber numberWithInt:value];NSNumber *val = [NSNumber numberWithInt:abs(value)];

于 2012-12-12T03:34:33.150 回答
1
-(IBAction)addRounds{
    self.totalRoundsF.text = [NSString stringWithFormat:@"%d", [self.roundsF.text intValue] - [self.totalRoundsF.text intValue]];
}
于 2012-12-12T04:01:23.880 回答