2016-02-26 64 views
0

爲數字,格式化後,我希望它顯示爲$ 050,下面的代碼不起作用。但是如果我使用NSNumberFormatterDecimalStyle,它可以顯示050.你知道爲什麼嗎?生成前導零與貨幣的NSNumberFormatter

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.43」)。另一方面,NSNumberFormatterDecimalStyle可以用填充零。