我正在制作自己的计算器而且我来到这个问题。
抱歉新手问题,但我没找到。
如何在Objective-C中将NSInteger附加到另一个NSInteger;
例如:
5 + 5 = 55
6 + 4 + 3 = 643
等
答案 0 :(得分:3)
您必须将它们转换为字符串。这是一种方式:
NSNumber *i1 = @6;
NSNumber *i2 = @4;
NSNumber *i3 = @3;
NSMutableString *str = [NSMutableString new];
[str appendString:[i1 stringValue]];
[str appendString:[i2 stringValue]];
[str appendString:[i3 stringValue]];
NSLog(@"result='%@", str);
然而,说了这么多,我不清楚为什么你要连接。
答案 1 :(得分:2)
如果它们是一个数字(如在计算器中),您只需执行以下操作:
NSInteger newNumber = (oldNumber * 10) + newDigit;
或方法:
- (NSInteger)number:(NSInteger)currentNumber byAdding:(NSInteger)newDigit {
//Assumes 0 <= newDigit <= 9
return (currentNumber * 10) + newDigit;
}
如果它们有多个数字,你可以将它们组成字符串,连接它们并转换回整数或使用简单的算术来找出你必须乘以的10的幂。
编辑: 6 + 4 + 3假设一次提供一位数字:
NSInteger result = [self number:[self number:6 byAdding:4] byAdding:3];
纯粹的算术解决方案:
- (NSInteger)powerOfTenForNumber:(NSInteger)number {
NSInteger result = 1;
while (number > 0) {
result *= 10;
number /= 10;
}
return result;
}
- (NSInteger)number:(NSInteger)currentNumber byAdding:(NSInteger) newNumber {
return (currentNumber * [self powerOfTenForNumber:newNumber]) + newNumber;
}