ios – 将拼写的数字转换为数字

前端之家收集整理的这篇文章主要介绍了ios – 将拼写的数字转换为数字前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在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"]);

关于它能处理什么(它不会自动检测语言,如果你偏离预期的格式(例如“三十四”而不是“三十四”),分数等)存在严重的限制,但是对于狭窄的领域,它似乎做的工作.

猜你在找的iOS相关文章