iPhone - > NSNumberFormatter - 没有货币代码的价格

时间:2011-02-18 16:24:52

标签: iphone objective-c

我有一个iPhone应用程序,我想显示价格。所以我使用这些代码行:

NSNumberFormatter *price = [[NSNumberFormatter alloc] init];
[price setNumberStyle:NSNumberFormatterCurrencyStyle];
[price setCurrencyCode:@"USD"];

我想要的只是价格,格式为currencyCode,但在我的情况下没有USD。 因此,我希望只有30,00 $而不是30,00而不是$

我该怎么做?

最诚挚的问候,蒂姆。

3 个答案:

答案 0 :(得分:20)

您希望摆脱的是货币符号。

[price setCurrencySymbol:@""];

答案 1 :(得分:3)

你可以将 setCurrencySymbol 用于一个空字符串,这应该可以解决这个问题:

[price setCurrencySymbol:@""];

请注意,这只会设置本地货币代码,而且可能无法使用外币。

答案 2 :(得分:1)

这是一种在保持符号的正确语言环境格式的同时执行此操作的方法:

_fmt.positiveFormat = [_fmt.positiveFormat 
    stringByReplacingOccurrencesOfString:@"¤" withString:@""];
_fmt.negativeFormat = [_fmt.negativeFormat 
    stringByReplacingOccurrencesOfString:@"¤" withString:@""];

¤字符用于货币符号的货币格式。如果您按照其他一些答案中的建议替换货币符号,格式化程序会为该号码执行美国标准格式(AFAIK - 在iOS 4和美国5中测试)。设置格式化程序的语言环境后,您需要执行此替换。尝试使用没有便士的货币代码HUF。