如何格式化NSString输出?

时间:2012-10-31 14:27:13

标签: objective-c nsstring format output

我正在使用这个股票市场计算器,它在标签上显示了我操作的总利润。问题是输出为3984.00,这不是我们在巴西的3.984,00格式的正确格式。那么,如何将输出3984.00转换为3.984,00

1 个答案:

答案 0 :(得分:1)

像DrummerB说的那样,请查看NSNumberFormatter

假设您当前的语言环境是巴西语,您可以按照以下方式执行操作:

NSString *output = @"3984.00";

NSNumber *number = [NSNumber numberWithDouble:[output doubleValue]];
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
NSString *groupingSeparator = [[NSLocale currentLocale] objectForKey:NSLocaleGroupingSeparator];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
[formatter setMinimumFractionDigits:2];
[formatter setMaximumFractionDigits:2];
[formatter setGroupingSeparator:groupingSeparator];
[formatter setGroupingSize:3];
[formatter setAlwaysShowsDecimalSeparator:YES];
[formatter setUsesGroupingSeparator:YES];

NSString *desiredString = [formatter stringFromNumber:number];

编辑:忘记添加minimumFractionDigits。