小编Vin*_*tho的帖子

NSNumberFormatter没有在nil值上返回nilSymbol.我错过了什么?

iOS 4+; 当我将一个nil值传递给我的NSNumberFormatter时,我想要设置的nil符号(NSString*)作为回报.它适用于'零'符号,但不适用于零符号.我尝试了许多不同的配置设置,如行为,分组等.

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] );
Run Code Online (Sandbox Code Playgroud)

以下是测试的输出:

[fmtr nilSymbol] = >> ### <<

[fmtr stringFromNumber:nil] = >>(null)<<这应该是'###

[fmtr stringFromNumber:0] = >> 0000 <<

[fmtr stringFromNumber:null] = >>(null)<<

[fmtr numberFromString:nil] …

iphone objective-c nsnumberformatter ios

6
推荐指数
1
解决办法
1723
查看次数

标签 统计

ios ×1

iphone ×1

nsnumberformatter ×1

objective-c ×1