2013-05-04 13 views
7

है, मुझे पता है कि आप यह जांच सकते हैं कि Integer.parseInt("1234");
पर एक स्ट्रिंग एक पूर्णांक है या नहीं, लेकिन मैं जो करना चाहता हूं वह एक पूर्णांक को एक पूर्णांक से लिंक करना है।
यानीजांचें कि कोई स्ट्रिंग

  • "एक" == 1
  • "दो" == 2
  • "तीन" == 3
  • "बीस" == 20

वहाँ है कुछ पुस्तकालय मैं ऐसा करने के लिए उपयोग कर सकता हूं, या क्या मुझे यह सब हाथ से प्रोग्राम करना है?

कारण मैं ऐसा करना चाहता हूं, यह है कि मेरे पास भाषण मान्यता के साथ एक एंड्रॉइड एप्लिकेशन है।
उपयोगकर्ता फिर गिन सकते हैं। यह संख्या स्क्रीन पर दिखाया गया है।

संपादित
कुछ प्रयोग करने के बाद, मैं पता लगा कि SpeechRecognizer वर्ग मैं अपने आप का उपयोग वास्तविक संख्या के नंबर पार्स करता है ...

+0

के बाद इसे पूरी तरह कार्यान्वित कर सकते हैं आप इसे पूरा करने के लिए एक enum पैटर्न का उपयोग कर सकते हैं। – BlackVegetable

+3

बस ध्यान रखें, इसमें गंभीर I18N समस्याएं होंगी। – nothrow

+0

इसी प्रकार का प्रश्न: http://stackoverflow.com/questions/4062022/how-to-convert-words-to-number –

उत्तर

5

मुझे यकीन है कि नहीं कर रहा हूँ अगर उस के लिए एक पुस्तकालय है, लेकिन here एक है अच्छा उदाहरण।

2

जहाँ तक मुझे पता है इस के लिए कोई पुस्तकालय नहीं है, लेकिन आपको लगता है इस

तरह टोकन

एक के तीन प्रकार बना सकते हैं। एक, दो, तीन .................... नौ

बी। ग्यारह से उन्नीसवीं, बीस, तीस, ............ ninety

सी। सौ, हजार, ........ और बड़े मूल्य

अब अपनी इनपुट स्ट्रिंग को पार्स करें और अपने टोकन के साथ मेल करें। बस एक मूल विचार के लिए आप tokenizer

कदम 2. मैच सही सबसे स्ट्रिंग और टोकन

कदम 3. मैच एक-एक करके साथ मैच stirng से इस

कदम की तरह सोच सकते हैं 1. बनाने टोकन सही और टोकन के साथ मैच और calculate

उदाहरण के लिए से एक स्ट्रिंग ONE THOUSAND FIVE HUNDRED FIFTY THREE

देना योग = 0

पहली स्ट्रिंग = तीन तो योग + = 3

दूसरी स्ट्रिंग = पचास तो योग + = 50;

तीसरी स्ट्रिंग = सौ तो आपको 100 के साथ चौथी स्ट्रिंग गुणा करने की आवश्यकता है और इतनी राशि + = एफ * 100 जोड़ें।और

पर यह एक बुनियादी विचार है। तो आप उचित योजना

संबंधित मुद्दे