iOS获取基于区域设置的数字描述

时间:2014-02-04 19:44:45

标签: ios nsnumberformatter nslocale

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

例如,如果我的数字为10,000,000。

在英语中,我希望用“Ten Million”这个词。然而,在印地语中,它将是一亿卢比。 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];

1 个答案:

答案 0 :(得分:1)

您要找的是NSNumberFormatterSpellOutStyle样式。

NSString* spelledOutString = [NSNumberFormatter localizedStringFromNumber:@10000000 numberStyle:NSNumberFormatterSpellOutStyle];