7

我知道您可以通过执行来检查字符串是否为整数Integer.parseInt("1234");
但我想要做的是将文本数字链接到整数。
IE

  • “一” == 1
  • “二” == 2
  • “三” == 3
  • “二十” == 20

有没有我可以使用的库来执行此操作,还是我必须手动编程?

我想这样做的原因是我有一个带有语音识别功能的 android 应用程序。
然后用户可以计数。这个数字显示在屏幕上。

编辑
经过一些实验,我发现我使用的 SpeechRecognizer 类会自动将数字解析为实际数字......

4

2 回答 2

5

我不确定是否有一个图书馆,但这是一个很好例子。

于 2013-05-04T17:58:54.467 回答
2

据我所知,没有图书馆,但你可以这样想

创建三种类型的令牌

一个。一、二、三…………九

湾。十一到十九、二十、三十…………九十

C。百,千,........和更大的价值

现在解析您的输入字符串并与您的令牌匹配。只是为了一个基本的想法,你可以这样想

步骤 1. 从stirng tokenizer 创建令牌

步骤 2. 匹配最右边的字符串并与标记匹配

step 3. 从右一串匹配并匹配tokens并计算

例如ONE THOUSAND FIVE HUNDRED FIFTY THREE

让总和=0

第一个字符串 = 3 所以总和 +=3

第二个字符串 = FiFTY 所以总和 += 50;

第三个字符串 = 百,所以你需要将第四个字符串乘以 100 并相加总和 += f*100.. 等等

这只是一个基本的想法。所以你可以在适当的规划后完美实施

于 2013-05-04T18:16:56.510 回答