在Objective-C /
Cocoa中,有没有办法将拼出的单词转换为NSNumber或多种语言的同等单词?
例如:
将3转换为3或将ocho转换为8(西班牙语).
也略有不同,但3 1/2至3.5
解决方法
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"]);
关于它能处理什么(它不会自动检测语言,如果你偏离预期的格式(例如“三十四”而不是“三十四”),分数等)存在严重的限制,但是对于狭窄的领域,它似乎做的工作.