0

I am trying to figure out how to take a double-digit NSInteger on iOS (like 11) and turn it into 2 separate NSIntegers, each looking like "1". It will always be just 2 digits in the NSInteger, no more, no less, and no decimals.

user717452
  • 33
  • 14
  • 73
  • 149

4 Answers4

2

You can simply use integer/modulo arithmetic

int tensDigit=originalNumber / 10;
int onesDigit=originalNumber % 10;
Paulw11
  • 108,386
  • 14
  • 159
  • 186
1
NSInteger a=11;
NSInteger b=a%10;
NSInteger c=(a-b)/10;
NSLog(@"%@ %@ %@",a,b,c);
Akshay Karanth
  • 347
  • 1
  • 13
0

use this it work (In Swift).

var number  = 36

var tenPlace = number / 10

var UnitPlace = number % 10

see the Screen shot.

enter image description here

Rizwan Shaikh
  • 2,824
  • 2
  • 27
  • 49
0

You can simply divide by 10 and find the reminder of division by 10.

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

for 21, partOne will be 2 and partTwo will be 1.

In general, for any number n, ith digit is n % pow(10, i)

Peyman
  • 3,059
  • 1
  • 33
  • 68