简单地说,我有一个正整数 [9, 393, 3, 993],我想将它本地化为某种语言 [٩, ٣٩٣ ,٣ ,٩٣٩]。
如果我使用NSNumberFormatter
,它将根据用户的语言环境对号码进行本地化。但是,我想覆盖它并选择任何语言环境来将数字转换为。
我尝试了以下方法,但没有奏效:
// user locale is @"en"
NSNumberFormatter* formatter = [NSNumberFormatter new];
[formatter setNumberStyle:NSNumberFormatterNoStyle];
[formatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"ar"]];
[formatter setMinimumIntegerDigits:padding];
return [formatter stringFromNumber:@(num)];
返回的字符串是英文的。
请注意,我有一个非常相似的代码片段NSDateFormatter
,但它按预期工作。该NSDateFormatter
对象尊重设置的语言环境。