我对当前包含 0.522000003606 的 NSNumber 变量“num”有疑问
我在 stackoverflow 上查找了其他几个问题,其他人也有同样的问题,但什么也没有。我的项目目前正在使用 ARC,因此我认为某些功能不可用,也就是说,除非我在当前想要设置 NSNumber 精度的类中不允许使用 ARC。
我了解 NSNumberFormatter 是我必须使用的基本 setPrecision 类函数,但我遇到了问题......
每次我使用 NSNumberFormatter 时,它都会返回 NULL !!!
nowValue = [now objectForKey:@"value"]; // This is what IM ACTUALLY DOING!!!
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
[formatter setRoundingMode:NSNumberFormatterRoundHalfUp];
[formatter setFormatWidth:2];
NSString *string = [formatter stringFromNumber:num];
我觉得这太微不足道了!任何人都可以给业余程序员一些建议吗?:)
编辑:
这就是我现在正在做的事情,使用 NSDecimal 而不是 NSNumber。“Now”是一个大字典对象,nowValue 是 num 的副本。
nowValue = (__bridge NSDecimal *)([now objectForKey:@"value"]);