Work With Numbers in Objective C (NSNumber and NSDigitalNumber)
Next example shows you how to work with NSNumber and NSDecimalNumer objects in Objective C. First part show you standard use, second part shows how to work with NSNumer objects in simplified form and last part shows how to work with NSDecimalNumber objects.
In this example we define two NSNumber numbers and then we add them (or we muliply them).
NSNumber *a, *b, *c; a = [NSNumber numberWithInt:10]; b = [NSNumber numberWithInt:20]; c = [NSNumber numberWithInt:([a intValue] + [b intValue])]; // short notations a = @10; b = @20; c = @([a integerValue] * [b integerValue]); // using NSDecimalNumbers NSDecimalNumber *a1, *a2, *a3; a1 = [[NSDecimalNumber alloc] initWithInt:15]; a2 = [[NSDecimalNumber alloc] initWithInt:30]; a3 = [a1 decimalNumberByMultiplyingBy:a2]; // define a boolean number NSNumber *isItTrue = @YES; // convert string to int int val1 = [@"100" intValue]; NSNumber *d = [NSNumber numberWithInt:val1]; NSLog(@"\n isItTrue = %@ | d = %@", isItTrue, d);
You can also learn how to convert a NSString to a NSNumber object.
Working with NSNumbers to make computations is slow. Better use C type numbers instead. But anyway just in case you need this, it might be useful to know how to use NSNumber object to make mathematical operations.