背景:我有一个使用SpeechRecognizer
的应用。现在我希望用户能够用数字说话,然后程序应该识别出相应的行为。
这就是问题出现的地方:SpeechRecognizer
会返回String
,而不是Integer
。因此,当用户说“百”时,它将被识别为“百”而不是“100”,这将更有用(例如在for循环中)。
我发现自己的解决方案只是对所有可能的结果进行硬编码并让它们对应于它们的数字对应物:“一个”变为“1”,“两个”变为“2”等等,但是对于十种可能性它很脏,对于100来说它是丑陋的,1000或者更多它是可以撤销的。
所以,问题是:如何将String
“One”转换为Integer
'1',而不必明确地输入它?我可以给SpeechRecognizer一个选项来只返回整数,还是有那些做这个的库,或者甚至只是我错过的标准函数?
提前致谢。
编辑:显然,我严格的测试方法并不严谨。这意味着我没有(正确地)测试它,即使我认为我做了(谦卑):SpeechRecognizer
没有给String
后面包含“一个”,它给出了{{1 “1”回来了。这可以由String
解析,就像刚才有人评论但几乎立即删除一样。
很抱歉让你度过了愉快的一天。