लाखों/करोड़ों में संख्याओं को शब्दों में बदलना प्रणाली: एक कुशल दृष्टिकोण
संख्याओं को शब्दों में बदलना प्रोग्रामिंग में एक सामान्य कार्य है, विशेष रूप से वित्तीय या लेखांकन अनुप्रयोग. जबकि कई मौजूदा समाधानों में कई नियमित अभिव्यक्ति और लूप के साथ जटिल कोड शामिल होते हैं, यह लेख दक्षिण एशियाई नंबरिंग प्रणाली की विशिष्ट आवश्यकताओं के अनुरूप एक सरलीकृत दृष्टिकोण प्रस्तुत करता है।
यह प्रणाली "लाख" और "करोड़" की अवधारणाओं का उपयोग करती है "बड़ी संख्या का प्रतिनिधित्व करने के लिए. एक लाख 100,000 का प्रतिनिधित्व करता है, जबकि एक करोड़ 10,000,000 का प्रतिनिधित्व करता है। पश्चिमी संख्या प्रणाली के विपरीत जहां अल्पविराम को विभाजक के रूप में उपयोग किया जाता है, दक्षिण एशियाई प्रणाली रिक्त स्थान का उपयोग करती है।
const a = ['', 'एक', 'दो', 'तीन', 'चार', 'पांच', 'छह', 'सात', 'आठ' ', 'नौ', 'दस', 'ग्यारह', 'बारह', 'तेरह', 'चौदह', 'पंद्रह', 'सोलह', 'सत्रह', 'अठारह', 'उन्नीस']; स्थिरांक बी = ['', '', 'बीस', 'तीस', 'चालीस', 'पचास', 'साठ', 'सत्तर', 'अस्सी', 'नब्बे']; फ़ंक्शन इनवर्ड्स (संख्या) { यदि ((num = num.toString()).length > 9) रिटर्न 'ओवरफ्लो'; n = ('000000000' num).substr(-9).match(/^(\d{2})(\d{2})(\d{2})(\d{1})(\d {2})$/); यदि (!n) वापसी; चलो str = ''; str = (n[1] != 0) ? (a[संख्या(n[1])] || b[n[1][0]] ' ' a[n[1][1]]) 'करोड़' : ''; str = (n[2] != 0) ? (a[संख्या(n[2])] || b[n[2][0]] ' ' a[n[2][1]]) 'लाख' : ''; str = (n[3] != 0) ? (a[संख्या(n[3])] || b[n[3][0]] ' ' a[n[3][1]]) 'हजार' : ''; str = (n[4] != 0) ? (ए[संख्या(एन[4])] || बी[एन[4][0]] '' ए[एन[4][1]]) 'सौ' : ''; str = (n[5] != 0) ? ((str != '') ? 'और ' : '') (a[संख्या(n[5])] || b[n[5][0]] '' a[n[5][1] ]) 'केवल ' : ''; वापसी str; } ```` यह कोड विभिन्न संख्यात्मक निरूपण बनाने के लिए पूर्व-परिभाषित सरणियों 'ए' और 'बी' को जोड़ता है। नियमित अभिव्यक्ति का उपयोग करके, यह संख्या के विभिन्न वर्गों (जैसे, करोड़, लाख, हजारों, सैकड़ों और एक) को पकड़ता है और उपयुक्त शब्द उत्पन्न करता है। महत्वपूर्ण बात यह है कि यह दृष्टिकोण पहले प्रस्तुत किए गए समाधान की तुलना में कहीं अधिक संक्षिप्त है। कोड की कार्यक्षमता प्रदर्शित करने के लिए, HTML/जावास्क्रिप्ट स्निपेट का उपयोग किया जा सकता है:
const a = ['', 'one ', 'two ', 'three ', 'four ', 'five ', 'six ', 'seven ', 'eight ', 'nine ', 'ten ', 'eleven ', 'twelve ', 'thirteen ', 'fourteen ', 'fifteen ', 'sixteen ', 'seventeen ', 'eighteen ', 'nineteen '];
const b = ['', '', 'twenty', 'thirty', 'forty', 'fifty', 'sixty', 'seventy', 'eighty', 'ninety'];
function inWords (num) {
if ((num = num.toString()).length > 9) return 'overflow';
n = ('000000000' num).substr(-9).match(/^(\d{2})(\d{2})(\d{2})(\d{1})(\d{2})$/);
if (!n) return;
let str = '';
str = (n[1] != 0) ? (a[Number(n[1])] || b[n[1][0]] ' ' a[n[1][1]]) 'crore ' : '';
str = (n[2] != 0) ? (a[Number(n[2])] || b[n[2][0]] ' ' a[n[2][1]]) 'lakh ' : '';
str = (n[3] != 0) ? (a[Number(n[3])] || b[n[3][0]] ' ' a[n[3][1]]) 'thousand ' : '';
str = (n[4] != 0) ? (a[Number(n[4])] || b[n[4][0]] ' ' a[n[4][1]]) 'hundred ' : '';
str = (n[5] != 0) ? ((str != '') ? 'and ' : '') (a[Number(n[5])] || b[n[5][0]] ' ' a[n[5][1]]) 'only ' : '';
return str;
}
````
This code combines pre-defined arrays 'a' and 'b' to form various numerical representations. By utilizing a regular expression, it captures the different sections of the number (e.g., crores, lakhs, thousands, hundreds, and ones) and generates the appropriate words. Importantly, this approach is much more concise than the earlier solution presented.
To demonstrate the code's functionality, an HTML/JavaScript snippet can be used:
document.getElementById('words').innerHTML = inWords(document.getElementById('number').value );};document.getElementById('words').innerHTML = inWords(document.getElementById('number').value);
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3