检查String是否为数字

时间:2013-05-04 17:54:55

标签: java android string int

我知道只需执行Integer.parseInt("1234");
就可以检查字符串是否为整数 但我想要做的是将文本数字链接到整数 即

  • “一个”== 1
  • “两个”== 2
  • “三”== 3
  • “Twenty”== 20

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

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

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

2 个答案:

答案 0 :(得分:5)

我不确定是否有一个库,但here是一个很好的例子。

答案 1 :(得分:2)

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

创建三种类型的令牌

a。一,二,三....................九

b。十一,十九,二十,三十,............九十

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

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

  

步骤1.从stirng tokenizer创建令牌

     

第2步。匹配最右边的字符串并与令牌匹配

     

步骤3.从右侧逐个匹配字符串并与令牌匹配   计算

例如ONE THOUSAND FIVE HUNDRED FIFTY THREE

让sum = 0

first string = THree so sum + = 3

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

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

这只是一个基本想法。因此,您可以在正确规划后完美实施