检查一个string是否是一个数字

我知道你可以通过执行Integer.parseInt("1234");来检查一个string是否是一个整数Integer.parseInt("1234");
但是我想要做的就是将一个文本数字链接到一个整数。

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

有什么图书馆可以用来做这个,还是我必须手工编程?

我想这样做的原因是我有一个语音识别的Android应用程序。
用户然后可以计数。 该号码显示在屏幕上。

编辑
经过一番尝试,我发现SpeechRecognizer类使用自动分析数字到实际的数字…

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

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

创build三种令牌

一个。 一,二,三…………九

十一至十九,二十,三十,……九十

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

现在parsing您的inputstring并与您的令牌匹配。 只是为了一个基本的想法,你可以这样想

步骤1.从stirng tokenizer创build令牌

步骤2.匹配最右边的string并与令牌匹配

步骤3.从右边逐一匹配string并与标记匹配并计算

例如ONE THOUSAND FIVE HUNDRED FIFTY THREE

让sum = 0

第一个string= THREE总和+ = 3

第二个string= FiFTY所以sum + = 50;

第三个string=百,所以你需要乘以第四个string100,并添加如此sum + = f * 100 ..等等

这只是一个基本的想法。 所以你可以在正确的计划之后完美地实现它