我正在尝试实现一个计算器。用于计算答案的数字有两个文本字段。之后,我必须将结果显示为 a 中的整数答案UILabel
。
当我尝试这个时,我收到以下错误:
error is incompatible type
我正在尝试实现一个计算器。用于计算答案的数字有两个文本字段。之后,我必须将结果显示为 a 中的整数答案UILabel
。
当我尝试这个时,我收到以下错误:
error is incompatible type
我会创建一个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..
设置文本时必须使用格式说明符。
label.text = [NSString stringWithFormat:@"The number is %d", myInteger];
您可以使用带有 的浮点数、带有%f
的字符、带有%c
的对象%@
等来执行此操作。