将数字中的文本转换为数字

Conver text in numbers to digits

我有一个 Apple Watch 应用程序,它使用 Siri 从用户那里获取输入。我需要在用户说话时得到数字响应,但下面的方法仅 returns 数字作为字符串,例如"five" 而不是“5”。对我如何实现这一点有什么帮助吗?

presentTextInputControllerWithSuggestions

NSNumberFormatter 可以将文本转换为数字。

例子

NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
formatter.numberStyle = NSNumberFormatterSpellOutStyle;

NSLog(@"%@", [formatter numberFromString:@"thirty-four"]);
NSLog(@"%@", [formatter numberFromString:@"three point five"]);

formatter.locale = [[NSLocale alloc]initWithLocaleIdentifier:[NSLocale localeIdentifierFromComponents:@{NSLocaleLanguageCode: @"es"}]];

NSLog(@"%@", [formatter numberFromString:@"ocho"]);

试试这个。

NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
formatter.numberStyle = NSNumberFormatterSpellOutStyle;
NSNumber *num = [formatter numberFromString:@"yourWord"];
int value = [num intValue];