在UILabel中显示整数

时间:2013-07-31 08:31:50

标签: objective-c uilabel

我正在尝试实施一个计算器。用于计算答案的数字有两个文本字段。之后我必须在UILabel中将结果显示为整数答案。

当我尝试这个时,我收到以下错误:

error is incompatible type

2 个答案:

答案 0 :(得分:-1)

设置文本时必须使用格式说明符。

label.text = [NSString stringWithFormat:@"The number is %d", myInteger];

您可以使用%f的浮点数,%c的字符,%@的对象等来执行此操作。

答案 1 :(得分:-1)

我会创建一个NSNumberFormatter并指定不应该有任何小数位。这将为您提供您期望的舍入行为。

NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
formatter.maximumFractionDigits = 0;

// will be "2" since 1.5 is rounded up  
NSString *numberText = [formatter stringFromNumber:@1.5];

// will be "1" since 1.25 is rounded down
NSString *anotherNumberText = [formatter stringFromNumber:@1.25]; 

如果您决定在将来支持十进制数字,这将是最佳解决方案。然后,您可以将分数的数量更改为另一个数字,并进行适当的舍入而不会获得额外的尾随零。

NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
formatter.maximumFractionDigits = 2;

// will be "1.5" since no rounding is required (and no extra digits is required)    
NSString *numberText = [formatter stringFromNumber:@1.5];

// will be "1.13" since 1.125 is rounded up
NSString *anotherNumberText = [formatter stringFromNumber:@(1.0/8.0)]; // 1.125 

// will be "3.14" since 3.1415.. is rounded down
NSString *yetAnotherNumberText = [formatter stringFromNumber:@(M_PI)]; // 3.1415..