Разделить двузначный NSInteger на два NSInteger

Я пытаюсь выяснить, как взять двузначный NSInteger на iOS (например, 11) и превратить его в 2 отдельных NSInteger, каждый из которых выглядит как "1". В NSInteger всегда будет только 2 цифры, не больше, не меньше и не десятичные дроби.

4 ответа

Решение

Вы можете просто использовать целочисленную / модульную арифметику

int tensDigit=originalNumber / 10;
int onesDigit=originalNumber % 10;
NSInteger a=11;
NSInteger b=a%10;
NSInteger c=(a-b)/10;
NSLog(@"%@ %@ %@",a,b,c);

Вы можете просто разделить на 10 и найти напоминание о делении на 10.

NSNumber* number = [NSNumber numberWithInt:21];
NSNumber* partOne = [NSNumber numberWithInt:([number integerValue] / 10)];
NSNumber* partTwo = [NSNumber numberWithInt:([number integerValue] % 10)];

для 21 partOne будет 2, а partTwo будет 1.

В общем, для любого числа ni- я цифра равна n % pow(10, i)

Использовать это работает (в Swift).

var number  = 36

var tenPlace = number / 10

var UnitPlace = number % 10

увидеть снимок экрана.

Другие вопросы по тегам