如何在IOS中将中文数字转换为英文

时间:2018-01-30 10:16:52

标签: ios objective-c

这里,这是将英文编号转换成中文的代码,但我的编号为

- (void)convertChineseToEnglish {
    NSString *NumberString = @"九十九";
    NSNumberFormatter *Formatter = [[NSNumberFormatter alloc] init];
    NSLocale *locale = [NSLocale localeWithLocaleIdentifier:@"EN"];
    [Formatter setLocale:locale];
    NSNumber *newNum = [Formatter numberFromString:NumberString];
    if (newNum) {
        NSLog(@"%@", newNum);
    }
}

3 个答案:

答案 0 :(得分:0)

我没有得到实际的问题,但我想你需要这个

更改应用内的语言:

[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObjects: your_lang, nil] forKey:@"AppleLanguages"];
[[NSUserDefaults standardUserDefaults] synchronize];

答案 1 :(得分:0)

您的代码拼写数字

  • 99 类似“九十九

具有给定的中文语言环境

    eval语言环境中的
  • 九十九是九十九(Jiǔshíjiǔ

所以它根本没有将英文文本转换成中文文本......

要“转换”通用文字,您需要使用一些翻译服务/ api。

答案 2 :(得分:0)

正如Shebuka所说,这些被iOS视为拼写数字,因此您需要使用“拼写”数字样式来解析它们。

slice!

NSNumberFormatter也理解这些数字的“银行”版本。例如,它也会将“玖拾玖”解析为99。