简化NSDecimalNumber初始化

时间:2011-09-09 09:08:13

标签: objective-c nsdecimalnumber

我有以下构造,我想简化。我不得不使用NSString(?)来摆脱NSNumber与NSDecimalNumber编译器的警告。

NSDecimalNumber *ticksSinceSeventies = [NSDecimalNumber decimalNumberWithString:[NSString stringWithFormat:@"%d",[self timeIntervalSince1970]]];

感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

如果你只使用NSTimeInterval,它们是双倍的,那么NSDecimalNumber给你的基数10算术并不是必需的。您可以改为使用NSNumber

因此,您的构造函数将是:

NSNumber *ticksSinceSeventies = [NSNumber numberWithDouble:[self timeIntervalSince1970]];

(假设self是NSDate子类,或者这是在类别方法中。)

答案 1 :(得分:0)

这是一种方式:

[NSDecimalNumber decimalNumberWithString:[[self timeIntervalSince1970] stringValue]];

有些方法可以更好地简化它,但我不知道。