web-dev-qa-db-fra.com

Convertir NSNumber en NSDecimalNumber

Je me rends compte que NSDecimalNumber hérite de NSNumber.

Cependant, j'ai du mal à comprendre comment je peux initier un NSDecimalNumber à partir d'un NSNumber ou comment convertir un NSNumber en NSDecimalNumber.

J'ai essayé

NSDecimalNumber* d = [aNumber copy];

aNumber est un objet NSNumber en vain.

Suis-je en train de manquer quelque chose?

Merci.

39
Michael Rivers

Tu peux faire:

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

Donc:

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

Et dans Swift

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