使用货币时如何将小数位设置为0

时间:2011-11-11 12:47:08

标签: iphone decimal currency nsnumberformatter

在我的应用程序中,我正在处理大数字(货币),我正在使用nsnumberformatter格式化它们。目前,根据locale设置小数位数。由于涉及大数字,我不想显示任何货币的小数位数。如何在nsnumberformatter货币样式中将小数位设置为零?

使用的代码

NSDecimalNumber *someAmount = [NSDecimalNumber decimalNumberWithString:unformattedString];
    NSNumberFormatter *currencyFormatter = [[[NSNumberFormatter alloc] init] autorelease];
    [currencyFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
    [currencyFormatter setLocale:locale];
    NSString *str=[NSString stringWithFormat:@"%.0f",someAmount];
    //NSString *str=[currencyFormatter stringFromNumber:someAmount];

1 个答案:

答案 0 :(得分:8)

使用以下代码从数字格式化程序中删除小数位:

[currencyFormatter setMaximumFractionDigits:0];

使用上述代码的完整代码:

NSDecimalNumber *someAmount = [NSDecimalNumber decimalNumberWithString:unformattedString];
NSNumberFormatter *currencyFormatter = [[[NSNumberFormatter alloc] init] autorelease];
[currencyFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
[currencyFormatter setLocale:locale];
[currencyFormatter setMaximumFractionDigits:0];
NSString *str=[currencyFormatter stringFromNumber:someAmount];