iOS 4+;当我将一个零值传递给我的NSNumberFormatter时,我想返回设置的NIL符号(NSString *)。它适用于'零'符号,但不适用于零符号。我已经试过样行为,分组等许多不同的配置设置NSNumberFormatter不会在nil值上返回nilSymbol。我错过了什么?
fmtr = [[NSNumberFormatter alloc] init];
[fmtr setNumberStyle:NSNumberFormatterDecimalStyle];
[fmtr setFormatterBehavior:NSNumberFormatterBehaviorDefault];
[fmtr setUsesGroupingSeparator:NO];
[fmtr setNilSymbol:@"###"];
[fmtr setZeroSymbol:@"0000"];
NSLog(@"[fmtr nilSymbol]=>>%@<<", [fmtr nilSymbol]);
NSLog(@"[fmtr stringFromNumber:nil]=>>%@<< this should be '###", [fmtr stringFromNumber:nil]);
NSLog(@"[fmtr stringFromNumber:0]=>>%@<<", [fmtr stringFromNumber:[NSNumber numberWithInt:0]]);
NSLog(@"[fmtr stringFromNumber:null]=>>%@<<", [fmtr stringFromNumber:NULL]);
NSLog(@"[fmtr numberFromString:nil]=%@", [fmtr numberFromString:nil]);
NSLog(@"[fmtr numberFromString:@\"0\"]=%@", [fmtr numberFromString:@"0"]);
NSLog(@"[fmtr numberFromString:NULL]=%@", [fmtr numberFromString:NULL]);
下面是测试的输出:
[fmtr nilSymbol] = >> ### < <
[fmtr stringFromNumber:无] = >>(空)< <这应该是“###
[fmtr stringFromNumber:0] = 0000 >> < <
[fmtr stringFromNumber:空] = >>(空)< <
[fmtr numberFromString:无] =(空)
[fmtr numberFromString:@ “0”] = 0
[fmtr numberFromString:NULL] =(空)