Michael Rivers
Michael Rivers

Reputation: 920

Convert NSNumber to NSDecimalNumber

I realize that NSDecimalNumber inherits from NSNumber.

However, I am struggling to figure out how I can init an NSDecimalNumber from an NSNumber or how to convert an NSNumber to an NSDecimalNumber.

I have tried

NSDecimalNumber* d = [aNumber copy];

where aNumber is an NSNumber object to no avail.

Am I missing something?

Thanks.

Upvotes: 43

Views: 22435

Answers (2)

Eike
Eike

Reputation: 2431

So:

NSNumber * number = [NSNumber numberWithInt:10];
NSDecimalNumber *d = [NSDecimalNumber decimalNumberWithDecimal:[number decimalValue]];

And in Swift

let number = NSNumber(int: 10)
let dec = NSDecimalNumber(decimal: number.decimalValue)

Upvotes: 22

rmaddy
rmaddy

Reputation: 318784

You can do:

NSDecimalNumber *decNum = [NSDecimalNumber decimalNumberWithDecimal:[aNumber decimalValue]];

Upvotes: 85

Related Questions