使用NSNumberFormatter for Currency生成前导零

时间:2016-02-26 22:23:30

标签: ios nsnumberformatter

对于数字,格式化后,我希望它显示为$ 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);

1 个答案:

答案 0 :(得分:1)

无聊的答案是,美国货币风格(以及澳大利亚和加拿大,据我所知)从未使用过零,除非金额为零美元和一些美分(例如“0.43美元”)。另一方面,NSNumberFormatterDecimalStyle 可以使用填充零。

相关问题