c string conversion functions
यह ट्यूटोरियल C ++ स्ट्रिंग कनवर्ज़न फ़ंक्शंस को शामिल करता है जिसका उपयोग स्ट्रिंग को इंट और डबल और इंट को स्ट्रिंग आदि में कनवर्ट करने के लिए किया जा सकता है:
जब हम C ++ एप्लिकेशन विकसित कर रहे हैं तो स्ट्रिंग को पूर्णांक और डबल जैसी संख्याओं में बदलना आम है।
यह विषय उन कार्यों को शामिल करता है जिनका उपयोग स्ट्रिंग को इंट और डबल और संख्यात्मक मानों को प्रभावी रूप से परिवर्तित करने के लिए किया जा सकता है।
=> लोकप्रिय सी ++ प्रशिक्षण श्रृंखला के माध्यम से यहां पढ़ें।
आप क्या सीखेंगे:
सी ++ स्ट्रिंग रूपांतरण रूपांतरण
जब हम C ++ का उपयोग करके प्रोग्राम करते हैं, तो डेटा को एक प्रकार से दूसरे में बदलना आवश्यक हो जाता है। डेटा का रूपांतरण ऐसा होना चाहिए कि जब हम मौजूदा डेटा को नए प्रकार में परिवर्तित करते हैं तो कोई भी डेटा नष्ट नहीं होता है। यह विशेष रूप से सच है जब हम स्ट्रिंग डेटा को संख्याओं में बदलते हैं और इसके विपरीत।
इस ट्यूटोरियल में, हम std :: string object को numger और double सहित संख्यात्मक डेटा प्रकारों में बदलने के लिए विभिन्न कार्यों पर चर्चा करेंगे।
सी ++ में न्यूमेरिक प्रकारों में स्ट्रिंग परिवर्तित करें
सामान्य तौर पर, C ++ में संख्याओं को बदलने के लिए दो सामान्य तरीके हैं।
- Stoi और atoi फ़ंक्शन का उपयोग करना जो सभी संख्यात्मक डेटा प्रकारों के लिए प्रतिकृति है।
- स्ट्रिंगस्ट्रीम वर्ग का उपयोग करना।
आइए प्रत्येक विधि पर विस्तार से चर्चा करें।
Stoi और atoi कार्य का उपयोग करना
std :: string वर्ग पूर्णांक, लॉन्ग, डबल, फ्लोट आदि को स्ट्रिंग में बदलने के लिए विभिन्न कार्यों का समर्थन करता है। std द्वारा समर्थित रूपांतरण फ़ंक्शन :: string को सारणीबद्ध किया जाता है:
समारोह | विवरण |
---|---|
खड़ा है चोरी करना स्टॉल | स्ट्रिंग को पूर्णांक (लंबे और लंबे लंबे प्रकार सहित) में परिवर्तित करता है। |
atoi एटोल एटोल | बाइट स्ट्रिंग को पूर्णांक (लंबे और लंबे लंबे प्रकार सहित) में परिवर्तित करता है। |
खड़ा था धूल रोकना | बाइट स्ट्रिंग को अस्थायी बिंदु मानों में शामिल करता है (फ्लोट, डबल और लॉन्ग डबल प्रकार सहित)। |
मल अचेत करना | अहस्ताक्षरित पूर्णांक को स्ट्रिंग बाइट देता है (अहस्ताक्षरित लंबे और अहस्ताक्षरित लंबे प्रकार सहित)। |
ध्यान दें: बाइट स्ट्रिंग (अटोई) में परिवर्तित करने के लिए कार्यों के अलावा, अन्य सभी रूपांतरण फ़ंक्शन C ++ 11 के बाद से मौजूद हैं। अब हम स्ट्रिंग को इंट और स्ट्रिंग को डबल में बदलने के लिए रूपांतरण कार्यों पर चर्चा करेंगे।
String to int का उपयोग करना stoi () और अटोई ()
खड़ा है()
समारोह प्रोटोटाइप: stoi (const std :: string & str, std :: size_t * pos = 0, int base = 10);
पैरामीटर:
str => परिवर्तित करने के लिए स्ट्रिंग
पीओएस => संसाधित किए गए वर्णों की संख्या को संग्रहीत करने के लिए एक पूर्णांक का पता; डिफ़ॉल्ट = 0
आधार => संख्या आधार; डिफ़ॉल्ट = 0
प्रतिलाभ की मात्रा: निर्दिष्ट स्ट्रिंग के बराबर पूर्णांक।
अपवाद: std :: अमान्य_argument => यदि कोई रूपांतरण नहीं किया जा सकता है।
Std :: out_of_range => यदि परिवर्तित मान परिणाम प्रकार की सीमा से बाहर है।
विवरण: फ़ंक्शन stoi () एक स्ट्रिंग को एक तर्क के रूप में लेता है और एक पूर्णांक मान देता है। यदि परिवर्तित मान सीमा से बाहर है या यदि रूपांतरण नहीं किया जा सकता है तो यह एक अपवाद फेंक देगा।
आइए इस फ़ंक्शन को बेहतर ढंग से समझने के लिए एक प्रोग्रामिंग उदाहरण लें।
#include #include using namespace std; int main() { string mystr1 = '53'; string mystr2 = '3.142'; string mystr3 = '31477 with char'; int strint1 = stoi(mystr1); int strint2 = stoi(mystr2); int strint3 = stoi(mystr3); cout << 'stoi('' << mystr1 << '') is ' << strint1 << '
'; cout << 'stoi('' << mystr2 << '') is ' << strint2 << '
'; cout << 'stoi('' << mystr3 << '') is ' << strint3 << '
'; }
आउटपुट:
स्टैंड ('53') 53 है
खड़ा है ('3,142') 3 है
stoi ('31477 चार के साथ') 31477 है
उपरोक्त कार्यक्रम में, हमने तीन अलग-अलग तारों के साथ stoi फ़ंक्शन का उपयोग किया है। ध्यान दें कि स्ट्रिंग डेटा को पूर्णांक मान में परिवर्तित करते समय, फ़ंक्शन सफेद रिक्त स्थान या किसी भी अन्य वर्ण को छोड़ देता है।
इसलिए मिस्ट्री 2 (3.142) के मामले में, फ़ंक्शन ने दशमलव बिंदु के बाद सब कुछ छोड़ दिया। इसी तरह, मिस्ट्र 3 ('31477 इन चार') के मामले में, केवल संख्या को ध्यान में रखा गया था। स्ट्रिंग की अन्य सामग्री को छोड़ दिया गया।
अटोई ()
समारोह प्रोटोटाइप: int atoi (कास्ट चार * स्ट्र);
पैरामीटर: str => अशक्त-समाप्त बाइट स्ट्रिंग को इंगित करता है।
प्रतिलाभ की मात्रा:
सफलता => तर्क संगत के बराबर अंतर मान।
विफल => यदि परिवर्तित मान सीमा से बाहर है, तो अपरिभाषित।
0 => यदि कोई रूपांतरण नहीं किया जा सकता है।
विवरण: यह फ़ंक्शन बाइट स्ट्रिंग को पूर्णांक मान में परिवर्तित करता है। फंक्शन एटोई () किसी भी व्हाट्सएप को तब तक डिसाइड करता है जब तक कि एक नॉन-व्हाट्सएप कैरेक्टर सामने नहीं आता है और फिर एक वैध पूर्णांक संख्या प्रतिनिधित्व बनाने के लिए पात्रों को एक-एक करके लेता है और इसे एक पूर्णांक में परिवर्तित करता है।
Atoi फ़ंक्शन का उदाहरण
#include #include using namespace std; int main() { const char *mystr1 = '24'; const char *mystr2 = '3.142'; const char *mystr3 = '23446 with char'; const char *mystr4 = 'words with 3'; int mynum1 = atoi(mystr1); int mynum2 = atoi(mystr2); int mynum3 = atoi(mystr3); int mynum4 = atoi(mystr4); cout << 'atoi('' << mystr1 << '') is ' << mynum1 << '
'; cout << 'atoi('' << mystr2 << '') is ' << mynum2 << '
'; cout << 'atoi('' << mystr3 << '') is ' << mynum3 << '
'; cout << 'atoi('' << mystr4 << '') is ' << mynum4 << '
'; }
आउटपुट:
atoi ('24') 24 है
atoi ('3.142') 3 है
atoi ('23446 चार के साथ') 23446 है
atoi ('3 के साथ शब्द') 0 है
जैसा कि उपरोक्त कार्यक्रम में दिखाया गया है, एटॉई फ़ंक्शन एक बाइट स्ट्रिंग को एक तर्क के रूप में लेता है और इसे पूर्णांक मान में परिवर्तित करता है। सफेद रिक्त स्थान या किसी भी अन्य वर्ण को छोड़ दिया जाता है। यदि परिवर्तित मान श्रेणी से बाहर है, तो 0 लौटाया जाता है।
स्ट्रिंग () का उपयोग कर डबल करने के लिए स्ट्रिंग
समारोह प्रोटोटाइप: stod (const std :: string & str, std :: size_t * pos = 0);
पैरामीटर:
str => परिवर्तित करने के लिए स्ट्रिंग
पीओएस => संसाधित किए गए वर्णों की संख्या को संग्रहीत करने के लिए एक पूर्णांक का पता; डिफ़ॉल्ट = 0
प्रतिलाभ की मात्रा: निर्दिष्ट स्ट्रिंग के बराबर डबल मान।
अपवाद:
std :: अमान्य_argument => यदि कोई रूपांतरण नहीं किया जा सकता है।
std :: out_of_range => यदि परिवर्तित मान परिणाम प्रकार की सीमा से बाहर है।
विवरण: यह फ़ंक्शन एक स्ट्रिंग को फ्लोटिंग-पॉइंट मान में परिवर्तित करता है। फंक्शन स्टोड () किसी भी व्हाट्सएप को तब तक डिसाइड करता है जब तक कि एक नॉन-व्हाट्सएप कैरेक्टर सामने नहीं आता है और फिर एक-एक करके पात्रों को वैध फ्लोटिंग-पॉइंट नंबर का प्रतिनिधित्व करने के लिए ले जाता है और इसे फ्लोटिंग-पॉइंट में बदल देता है।
आइए इस फ़ंक्शन को प्रदर्शित करने वाला एक उदाहरण देखें।
#include #include using namespace std; int main() { const char *mystr1 = '24'; const char *mystr2 = '3.142'; const char *mystr3 = '23446 with char'; double mynum1 = stod(mystr1); double mynum2 = stod(mystr2); double mynum3 = stod(mystr3); cout << 'stod('' << mystr1 << '') is ' << mynum1 << '
'; cout << 'stod('' << mystr2 << '') is ' << mynum2 << '
'; cout << 'stod('' << mystr3 << '') is ' << mynum3 << '
'; }
आउटपुट:
स्टोड ('24') 24 है
स्टोड ('3.142') 3.142 है
स्टोड ('23446 चार के साथ') 23446 है
उपरोक्त कार्यक्रम 'स्टोड' फ़ंक्शन के उपयोग को दर्शाता है। आउटपुट निर्दिष्ट स्ट्रिंग्स के परिवर्तित डबल मानों को इंगित करता है।
स्ट्रिंगस्ट्रीम क्लास का उपयोग करना
स्ट्रिंग मानों को संख्यात्मक मानों में बदलने के लिए स्ट्रिंगस्ट्रीम क्लास का उपयोग करना सबसे आसान तरीका है।
हम अपने बाद के ट्यूटोरियल में विस्तार से स्ट्रिंग क्लास सीखेंगे। नीचे दिया गया एक C ++ प्रोग्राम है जो स्ट्रिंग को न्यूमेरिक मानों में बदलने का प्रदर्शन करता है।
#include #include using namespace std; int main() { string str = '2508'; stringstream sstream(str); int num = 0; sstream >> num; double dNum=0.0; string doublestr = '3.142'; stringstream dstream(doublestr); dstream >>dNum; cout << 'Value of num : ' << num< आउटपुट:
संख्या का मान: 2508
DNum का मान: 3.142
उपरोक्त कार्यक्रम में, हम देखते हैं कि हमने एक स्ट्रिंग ऑब्जेक्ट घोषित किया है। फिर हम एक स्ट्रिंगस्ट्रीम ऑब्जेक्ट की घोषणा करते हैं और स्ट्रिंग को इस ऑब्जेक्ट में पास करते हैं ताकि स्ट्रिंग को एक स्ट्रिंगस्ट्रीम ऑब्जेक्ट में बदल दिया जाए। फिर इस स्ट्रिंगस्ट्रीम ऑब्जेक्ट को operator >> 'ऑपरेटर के उपयोग से एक पूर्णांक मान में पास किया जाता है जो स्ट्रिंगस्ट्रीम ऑब्जेक्ट को पूर्णांक में परिवर्तित करता है।
इसी तरह, हमने स्ट्रिंग को भी डबल में बदल दिया है। इसलिए जब तक '>>' ऑपरेटर डेटा प्रकार का समर्थन करता है, तब तक हम किसी स्ट्रिंग डेटा का उपयोग करके स्ट्रिंग को किसी भी डेटा प्रकार में परिवर्तित कर सकते हैं।
C + में स्ट्रिंग के लिए int कन्वर्ट
हम संख्यात्मक मानों को स्ट्रिंग मानों में भी बदल सकते हैं। संख्यात्मक मानों को स्ट्रिंग मानों में परिवर्तित करने के दो तरीके हैं और हम नीचे उन पर चर्चा करेंगे।
To_string () फ़ंक्शन का उपयोग करना
समारोह प्रोटोटाइप: std :: string to_string (प्रकार मान);
पैरामीटर: मान => संख्यात्मक मान परिवर्तित करने के लिए
प्रतिलाभ की मात्रा: स्ट्रिंग मान परिवर्तित मान को पकड़े हुए।
अपवाद: एसटीडी फेंक सकते हैं :: bad_alloc
विवरण: यह फ़ंक्शन to_string () स्ट्रिंग प्रकार के तर्क के रूप में पारित संख्यात्मक मान को परिवर्तित करता है और स्ट्रिंग लौटाता है।
आइए C ++ प्रोग्राम का उपयोग करके इस फ़ंक्शन का एक उदाहरण देखें।
#include #include // used for string and to_string() using namespace std; int main() { int int_val = 20; float flt_val = 30.50; string str_int = to_string(int_val); string str_float = to_string(flt_val); cout << 'The string representation of integer : '; cout << str_int << endl; cout << 'The string representation of float : '; cout << str_float << endl; return 0; }
आउटपुट:
पूर्णांक का स्ट्रिंग प्रतिनिधित्व: 20 फ्लोट का स्ट्रिंग प्रतिनिधित्व: 30.500000
यहां हमारे दो चर हैं, प्रत्येक प्रकार के पूर्णांक और फ्लोट। तब हम पूर्णांक और फ्लोट तर्क के साथ दो बार to_string विधि को कॉल करते हैं और दोनों मानों को स्ट्रिंग मानों में परिवर्तित करते हैं। अंत में, हम परिवर्तित मूल्यों को प्रदर्शित करते हैं।
ध्यान दें कि स्ट्रिंग के लिए फ्लोटिंग-पॉइंट वैल्यू को परिवर्तित करना अप्रत्याशित परिणाम दे सकता है क्योंकि महत्वपूर्ण अंकों की संख्या to_ringring विधि के साथ शून्य हो सकती है।
स्ट्रिंगस्ट्रीम क्लास का उपयोग करना
स्ट्रिंगस्ट्रीम क्लास का उपयोग करते हुए, स्ट्रीस्टस्ट सबसे पहले एक स्ट्रीम ऑब्जेक्ट घोषित करता है जो ऑब्जेक्ट में स्ट्रीम के रूप में न्यूमेरिक वैल्यू को सम्मिलित करता है। यह तब 'str ()' फ़ंक्शन को आंतरिक रूप से स्ट्रिंग के लिए एक संख्यात्मक मान में परिवर्तित करने के लिए उपयोग करता है।
उदाहरण:
मुफ्त में मोबाइल फोनों के लिए देखने के तरीके
#include #include #include using namespace std; int main() { int num = 26082019; double num_d = 3.142; ostringstream mystr; ostringstream my_dstr; mystr << num; string resultstr = mystr.str(); my_dstr << num_d; string d_str = my_dstr.str(); cout << 'The string formed from integer is : '; cout << resultstr << endl; cout << 'The string formed from double is : '; cout << d_str << endl; return 0; } #include #include #include using namespace std; int main() { int num = 26082019; double num_d = 3.142; ostringstream mystr; ostringstream my_dstr; mystr << num; string resultstr = mystr.str(); my_dstr << num_d; string d_str = my_dstr.str(); cout << 'The string formed from integer is : '; cout << resultstr << endl; cout << 'The string formed from double is : '; cout << d_str << endl; return 0; }
आउटपुट:
पूर्णांक से निर्मित स्ट्रिंग है: 26082019
डबल से निर्मित स्ट्रिंग है: 3.142
इस सूची में, हमने एक पूर्णांक और एक डबल मान परिभाषित किया है। तब हमारे पास ओस्ट्रिंगस्ट्रीम ऑब्जेक्ट होता है, जिसके उपयोग से हम न्यूमेरिकल वैल्यू को स्ट्रिंगस्ट्रीम ऑब्जेक्ट में कवर करते हैं। यह ‘का उपयोग कर रहा है<<’ operator. Next, we use the str() method on a stringstream object to convert it to a string.
निष्कर्ष
इस ट्यूटोरियल में, हमने रूपांतरण फ़ंक्शन पर चर्चा की जो स्ट्रिंग को संख्यात्मक प्रकारों और संख्यात्मक प्रकारों को वापस स्ट्रिंग में परिवर्तित करता है। हमने stoi (), stod (), atoi (), to_string () फ़ंक्शन के कार्यों और उदाहरणों को विस्तार से देखा है। हमने स्ट्रिंगस्ट्रीम क्लास फ़ंक्शंस और विधियों में से कुछ पर भी चर्चा की जो उल्लेखित रूपांतरणों को करने में हमारी मदद करते हैं।
अनुशंसित पढ़ना = >> कन्वर्ट स्ट्रिंग को जावा में इंटिजर के लिए तथा जावा में Int को String में बदलने के तरीके
हमारे अगले ट्यूटोरियल में, हम चरित्र डेटा प्रकारों के लिए रूपांतरण फ़ंक्शन सीखेंगे।
=> यहाँ गहराई सी ++ प्रशिक्षण ट्यूटोरियल की जाँच करें।
अनुशंसित पाठ
- पायथन स्ट्रिंग फ़ंक्शंस
- C ++ कैरेक्टर कनवर्ज़न फंक्शन्स: char to int, char to string
- स्ट्रिंग स्ट्रिंग बफर और स्ट्रिंग बिल्डर ट्यूटोरियल के साथ जावा स्ट्रिंग
- स्ट्रिंग फ़ंक्शंस C ++ में: getline, substring, string length & More
- पार्स, कन्वर्ट और TryParse तरीकों का उपयोग कर सी # कन्वर्ट स्ट्रिंग को इंट में करें
- VBScript स्ट्रिंग फ़ंक्शंस: VBScript inStr, बदलें, मध्य और ट्रिम फ़ंक्शंस
- पायथन स्ट्रिंग स्प्लिट ट्यूटोरियल
- सी # स्ट्रिंग ट्यूटोरियल - कोड उदाहरण के साथ स्ट्रिंग के तरीके