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.
Asked
Active
Viewed 231 times
4 Answers
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.

Rizwan Shaikh
- 2,824
- 2
- 27
- 49
-
You should put your actual code into your answer as it can be copied easily while a screenshot cannot – Paulw11 Jun 23 '15 at 04:36
-
Thanks for your advice – Rizwan Shaikh Jun 23 '15 at 04:43
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