gpt4 book ai didi

Android从字符串中识别一个整数

转载 作者:行者123 更新时间:2023-11-30 02:30:27 25 4
gpt4 key购买 nike

背景:我有一个使用 SpeechRecognizer 的应用程序。现在我希望用户能够用数字说话,然后程序应该识别这些数字以采取相应的行动。这就是问题开始的地方:SpeechRecognizer 返回一个 String,而不是一个 Integer。因此,当用户说“百”时,它将被识别为“百”而不是“100”,这会更有用(例如在 for 循环中)。

我自己发现的一个解决方案就是硬编码所有可能的结果,让它们对应于它们的数字对应物:“一”变成“1”,“二”变成“2”,等等,但是对于 10 种可能性,它是脏的,对于 100,它是丑陋的,对于 1000 或更多,它是不可撤销的。

因此,问题是:如何将 String "One"转换为 Integer '1' 而无需显式输入?我可以为 SpeechRecognizer 提供一个选项以仅返回整数,还是有库可以执行此操作,或者甚至只是我错过的标准函数?

提前致谢。

编辑:显然我严格的测试方法并不那么严格。这意味着我没有(正确地)测试它,即使我认为我做了(哦,谦虚):SpeechRecognizer 不返回包含“One”的 String,它返回 String“1”。这是可由 Integer.parseInt() 解析的,正如有人刚刚评论但几乎立即删除的那样。

抱歉耽误了您的时间,祝您有愉快的一天。

最佳答案

它既不是语音识别器的标准函数,也不是 Java 的标准函数。

手动编码转换实际上并不像听起来那么糟糕。的确,从 0 到 20 的所有内容几乎都是硬编码的 switch 语句,但在那之后事情就变得更糟了。

用于给出相反的问题(intString)作为我们为开发人员面试的人员的 TDD 编码练习。您绝对可以摆脱一个看起来还不错的转换器类。

并且,作为对评论的回应:您需要付出更多的努力才能解析所有 数字(包括含糊不清的单词)。这更像是一个概念验证,而不是准备好击败 Siri/OkGoogle 的东西。

关于Android从字符串中识别一个整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27409806/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com