对于数字,格式化后,我希望它显示为$ 050,下面的代码不起作用。但如果我使用NSNumberFormatterDecimalStyle,它可以显示050.你知道为什么吗?
NSNumberFormatter *f = [[NSNumberFormatter alloc] init] ;
f.numberStyle = NSNumberFormatterNoStyle;
NSNumber *myNumber;
NSString *myString;
myNumber = [f numberFromString:@"50"]; // Note that the extra zeros are useless
[f setNumberStyle:NSNumberFormatterCurrencyAccountingStyle];
[f setFormatWidth:3];
//[f setPaddingPosition:NSNumberFormatterPadAfterPrefix];
[f setPaddingCharacter:@"0"];
myString = [f stringFromNumber:myNumber];
NSLog(@"myString: %@",myString);
答案 0 :(得分:1)
无聊的答案是,美国货币风格(以及澳大利亚和加拿大,据我所知)从未使用过零,除非金额为零美元和一些美分(例如“0.43美元”)。另一方面,NSNumberFormatterDecimalStyle
可以使用填充零。