0

不确定这是否可能,但对于我的应用程序,我想获得一个描述数字的基于语言环境的字符串。

例如,如果我有数字 10,000,000。

在英语中,我会期待“一千万”这个短语。但是,在印地语中,这将是一千万。NSNumberFormatter 或 NSLocale 中是否有任何属性可以帮助我解决这个问题?

我检查了文档(NSNumberFormatterNSLocale),但还没有找到我要找的东西。显然我可以编写一些代码来处理这两种情况,但我想要一种适用于任何语言环境的方法。

编辑:感谢leo的回答!这是一小段代码,可以让任何寻找相同事物的人开始:

NSNumberFormatter formatter = [[NSNumberFormatter alloc] init];
[self.formatter setNumberStyle:NSNumberFormatterSpellOutStyle];
NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"hi_hi"];
[self.formatter setLocale:locale];
NSNumber * myNumber = [NSNumber numberWithInt:10000];
self.numberLabel.text = [self.formatter stringFromNumber:myNumber];
4

1 回答 1

1

您正在寻找的是NSNumberFormatterSpellOutStyle风格。

NSString* spelledOutString = [NSNumberFormatter localizedStringFromNumber:@10000000 numberStyle:NSNumberFormatterSpellOutStyle];
于 2014-02-04T19:47:09.137 回答