我正在尝试实施一个计算器。用于计算答案的数字有两个文本字段。之后我必须在UILabel
中将结果显示为整数答案。
当我尝试这个时,我收到以下错误:
error is incompatible type
答案 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..