如何将NSDecimalNumber用作const?

时间:2015-09-08 16:45:49

标签: objective-c const nsdecimalnumber

我有const static double的列表。我想将它们转换为const static NSDecimalNumber* s。 这可能吗?如果没有,有什么好的选择?

1 个答案:

答案 0 :(得分:0)

与其他Objective-C编号(例如NSInteger)不同,NSDecimalNumber是运行时评估的对象,因此无法在编译时进行评估。因此,您必须将其视为对象。

所以,替换你的:

const static double YourNumber = 123.456;

@implementation YourClass
// ...
@end

使用:

NSDecimalNumber *YourNumber;

@implementation YourClass
+(void) initialize
{
    YourNumber = [NSDecimalNumber decimalNumberWithString:@"123.456"];
}

// ...
@end