将NSNumber转换为NSDecimalNumber

时间:2014-02-05 05:50:53

标签: objective-c init nsnumber nsdecimalnumber

我意识到NSDecimalNumber继承自NSNumber。

但是,我正在努力弄清楚如何从NSNumber初始化NSDecimalNumber或如何将NSNumber转换为NSDecimalNumber。

我试过了

NSDecimalNumber* d = [aNumber copy];

其中aNumber是一个无效的NSNumber对象。

我错过了什么吗?

感谢。

2 个答案:

答案 0 :(得分:78)

你可以这样做:

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

答案 1 :(得分:12)

所以:

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

在Swift中

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