2012-03-07 76 views
4

我目前正在尝试使用货币风格将一个浮动数据从JSON订阅源格式化为一个具有NSNumberFormatter的数字。与NSNumberFormatter一起使用货币风格时输出错误

我目前的解决办法是这样的:

float test = 100.50; 
NSNumber *number = [NSNumber numberWithFloat:test]; 

NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init]; 
[formatter setNumberStyle:NSNumberFormatterCurrencyStyle]; 
[formatter setCurrencyCode:@"DKK"]; 
NSString *price = [formatter stringFromNumber:number]; 

我的问题是,输出“DKK100.50”时,选定的货币正确的结果应该是“DKK100,50”(注意当前结果用点作为十进制分隔符,而不是逗号)。

我在做什么错?

回答

1

您没有为您的NSNumberFormatter指定NSLocale,它将使用设置中的当前“区域”来设置货币格式(包括分隔符)。您当前的“区域”设置可能是使用点作为分隔区域,将其更改为使用逗号之一,例如en_US

[formatter setLocale:[[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"] autorelease]]; 

例如

+0

谢谢你,该诀窍:) – Krueger 2012-03-07 11:25:09