Ios resultLabel的本地化

Ios resultLabel的本地化,ios,objective-c,localization,formatting,Ios,Objective C,Localization,Formatting,我正在为iOS 7开发应用程序。我对开发还不熟悉,所以我不完全了解 代码如下: NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init]; [formatter setNumberStyle:NSNumberFormatterDecimalStyle]; [formatter setGroupingSeparator:@"."]; [formatter setGroupingSize:3]; [formatter setUse

我正在为iOS 7开发应用程序。我对开发还不熟悉,所以我不完全了解

代码如下:

NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
[formatter setGroupingSeparator:@"."];
[formatter setGroupingSize:3];
[formatter setUsesGroupingSeparator:YES];

NSString *postotakString = [postotak text];

float postotakFloat = [[postotakString stringByReplacingOccurrencesOfString:@"," withString:@"."] floatValue];

NSString *cijeliBrojString = [cijeliBroj text];

float cijeliBrojFloat = [[cijeliBrojString stringByReplacingOccurrencesOfString:@"," withString:@"."] floatValue];

float formulaPostotak = (cijeliBrojFloat/(postotakFloat/100));

[formatter setFormatWidth:2];
formatter.maximumFractionDigits = 2;
formatter.minimumFractionDigits = 2;

NSString *rez = [formatter stringFromNumber:[NSNumber numberWithDouble:formulaPostotak]];

[rezultat setText:rez];

return ;
用户输入原价和折扣。在打印结果的标签中,格式为:1.000.000,00

我希望当用户有基本本地化时,格式为1000000.00,克罗地亚语的用户格式为:1.000.000,00

这可能吗?我可以用if语句来做吗


提前感谢。

使用数字格式化程序的
NSLocale
属性:

formatter.locale = [NSLocale currentLocale];

如果当前区域设置为克罗地亚,它将显示相应的数字。

无需设置为当前区域设置。NSNumberFormatter将自动使用当前区域设置,除非您覆盖它。您将“基本本地化”定义为用户的什么?我不熟悉克罗地亚的规则和数字格式。语言也会影响区域设置的数字格式。例如,fr_CA与en_CA的区域设置会导致两种不同的数字格式。处理数字本地化的典型方法是让NSNumberFormatter使用设备的当前区域设置,默认情况下会这样做。