-5

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

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

error is incompatible type
4

2 回答 2

-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.. 
于 2013-07-31T08:56:14.863 回答
-1

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

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

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

于 2013-07-31T08:43:37.513 回答