web-dev-qa-db-ja.com

NSNumberをNSDecimalNumberに変換

NSDecimalNumberはNSNumberを継承していることを理解しています。

ただし、NSNumberからNSDecimalNumberを初期化する方法、またはNSNumberをNSDecimalNumberに変換する方法を見つけるのに苦労しています。

私が試してみました

NSDecimalNumber* d = [aNumber copy];

ここで、aNumberは使用できないNSNumberオブジェクトです。

何か不足していますか?

ありがとう。

39
Michael Rivers

できるよ:

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

そう:

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

そしてスウィフトで

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