4

我想将单词转换为 数字Ninety Nine to 99 Second to 2ndTwo to 2

有人知道该怎么做吗?

4

2 回答 2

6

Apple 没有用于这种目的的 API。即使只是针对一种语言,词典分析也很困难。将数字表示为单词可能相对简单,但从单词到数字需要处理许多特殊情况。

蛮力方法是拥有一个包含所有各种可能组合的数据库。一种更聪明的方法可能会分析单个单词并推理出这可能意味着什么数字。

于 2012-12-18T20:38:35.640 回答
3

你正在寻找这个,NSNumberFormatterStyle。它有一个选项为NSNumberFormatterSpellOutStyle.

根据苹果文档,

NSNumberFormatterSpellOutStyle:指定拼写格式;例如,“23”变成“二十三”。

看起来您想从 Word 转换为 Number 而不是 Number 到 Word。我误读了你的问题。

您可能必须手动执行此操作,因为 Apple 没有可用的 API。你可以检查NSNumberFormatter看看你是否能找到一些有用的东西。

正如 jlehr 提到的,NSLog(@"%@", [formatter numberFromString:@"one hundred forty-three"]);将给出数字143。但它可能不是一个适用于所有可能组合的完美解决方案。

于 2012-12-18T20:27:19.550 回答