दिलचस्प पोस्ट
सी / सी ++ परियोजनाओं के लिए मेवेन का उपयोग करना स्वयं का उद्देश्य क्या है? एक जेफ्राम में जेपीएनएल के साथ जेपीएनएल की जगह रनटाइम पर जावा एप्लिकेशन का असली पथ कैसे प्राप्त करें? स्पार्क: स्काला या जावा उपयोगकर्ता परिभाषित कार्यों के साथ अजगर को कैसे मैप करें? अगर पर्याप्त जगह है तो डी 3 को पाई चार्ट में चाप लेबल डालें सीएसएस पृष्ठभूमि-छवि-अस्पष्टता? हाइलाइट त्रुटि सेल या इनपुट जब सत्यापन jqgrid में विफल हो जाता है क्या यह बेहतर है सी शून्य तर्क "शून्य foo (शून्य)" या नहीं "शून्य foo ()" का उपयोग करने के लिए? जेएसओएन स्ट्रिंग को डिक्शनरी को सूची में परिवर्तित करना सी # में रिफ्लेक्शन का उपयोग करके स्ट्रेट से प्रॉपर्टी वैल्यू प्राप्त करें सूची <> तत्व की स्थिति में सी # LINQ का उपयोग करें मैं कोड को किस विधानसभा का पथ प्राप्त कर सकता हूं? सक्रिय निर्देशिका COM अपवाद – एक ऑपरेशन त्रुटि हुई (0x80072020) कोणीय 2 रूटर-बहिष्कृत निर्भरता को लोड नहीं किया जा रहा है

कैसे int को कन्वर्ट करने के लिए?

char को बदलने के लिए उचित तरीका क्या है? यह 49 :

 int val = Convert.ToInt32('1'); //int val = Int32.Parse("1"); // Works 

मैं स्ट्रिंग में कनवर्ट नहीं करना चाहता और फिर इसे पार्स करना।

Solutions Collecting From Web of "कैसे int को कन्वर्ट करने के लिए?"

मुझे कोई आश्चर्य नहीं है कि System.Char में सही तरीके से बनाई गई स्थिर विधि का उल्लेख नहीं किया गया है।

 int val = (int)Char.GetNumericValue('8'); // val == 8 

कैसे के बारे में ( char c )

 int i = (int)(c - '0'); 

जो चार मूल्यों का अवनत करता है?

एपीआई प्रश्न (टिप्पणी), शायद एक एक्सटेंशन विधि पुनः?

 public static class CharExtensions { public static int ParseInt32(this char value) { int i = (int)(value - '0'); if (i < 0 || i > 9) throw new ArgumentOutOfRangeException("value"); return i; } } 

फिर int x = c.ParseInt32();

जो लोग भूल रहे हैं वे बता रहे हैं कि ऐसा क्यों होता है।

एक चर, मूलतः एक पूर्णांक है, लेकिन एएससीआईआई तालिका में एक सूचक के साथ। सभी वर्णों में एक समान पूर्णांक मान है, जैसा कि आप स्पष्ट रूप से देख सकते हैं जब उसे पार्स करने की कोशिश करते हैं।

प्रणय स्पष्ट रूप से एक अलग चरित्र सेट है, इसलिए उसका कोड काम नहीं करता। एकमात्र तरीका है

 int val = '1' - '0'; 

क्योंकि यह '0' की तालिका में पूर्णांक मान को देखता है, जो तब से 'आधार मान' है, इससे चार प्रारूपों में आपकी संख्या को घटाना आपको मूल संख्या देगा।

 int i = (int)char.GetNumericValue(c); 

फिर भी एक अन्य विकल्प:

 int i = c & 0x0f; 

इसे इस रूप में अच्छी तरह से पूरा करना चाहिए।

 int val = '1' - 48; 
 int val = '1' - '0'; 

यह एएससीआई कोड का उपयोग करके किया जा सकता है जहां '0' सबसे कम है और संख्या वर्ण वहां से गिनती करते हैं

आप निम्न एक्सटेंशन विधि का उपयोग कर सकते हैं:

 public static class CharExtensions { public static int CharToInt(this char c) { if (c < '0' || c > '9') throw new ArgumentException("The character should be a number", "c"); return c - '0'; } } 

यह पूरा करने का सबसे सुरक्षित तरीका Int32.TryParse विधि का उपयोग कर रहा है। यहां देखें: http://dotnetperls.com/int-tryparse

हेक्साडेसिमल प्रतिनिधित्व को कवर करने वाले कुछ अन्य उत्तरों का विस्तार:

  public int CharToInt(char c) { if (c >= '0' && c <= '9') { return c - '0'; } else if (c >= 'a' && c <= 'f') { return 10 + c - 'a'; } else if (c >= 'A' && c <= 'F') { return 10 + c - 'A'; } return -1; } 

आप इस तरह से कुछ कोशिश कर सकते हैं:

 int val = Convert.ToInt32("" + '1');