Conver文本的数字到数字

时间:2015-04-30 08:30:12

标签: objective-c iphone apple-watch siri

我有Apple Watch的应用程序,它使用Siri获取用户的输入。当用户说话时,我需要以数字形式获得响应,但是下面的方法仅将数字作为字符串返回,例如“五”而不是“五”。有关如何实现这一目标的任何帮助吗?

presentTextInputControllerWithSuggestions

2 个答案:

答案 0 :(得分:1)

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"]);

答案 1 :(得分:1)

试试这个。

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