Objective-C:如何将字符串格式化为$ Price

时间:2009-11-21 09:00:27

标签: objective-c formatting currency

他们是一种将字符串格式化为$ price的内置方式,例如12345.45转换为$12,345.45

4 个答案:

答案 0 :(得分:70)

假设您正在使用Cocoa(或仅使用Foundation),您可以使用NSNumberFormatter并将其样式设置为货币:

NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterCurrencyStyle];
... = [formatter stringFromNumber:number];

默认情况下,它使用系统的区域设置,但您可以更改该区域以及许多其他属性,请参阅NSNumberFormatter API文档。

答案 1 :(得分:5)

假设价格保持在浮点数中,您可能需要+localizedStringWithFormat:

NSString *priceString = [NSString localizedStringWithFormat:@"$ %'.2f",price];

嗯...... Apple说他们遵循IEEE standard for printf,所以它应该接受'旗帜,但它不适用于Tiger。 NSNumberFormatter它是。

答案 2 :(得分:3)

你需要摆脱'字符

所以,就这样:

NSString *priceString = [NSString localizedStringWithFormat:@"$ %.2f", price];

答案 3 :(得分:0)

NSString *formatedNumbers = [NSNumberFormatter localizedStringFromNumber:myNumber numberStyle:NSNumberFormatterCurrencyStyle];