दिलचस्प पोस्ट
jqgrid पंक्ति जोड़ें और डालने के लिए webservice को डेटा भेजें सी में फ़ंक्शन पॉइंटर के रिकर्सिव घोषणा ब्राउज़र में वापस बटन क्लिक करें मैं फ़ेविकॉन रिफ्रेश को कैसे लागू करूं? Android एमुलेटर में ब्लूटूथ का उपयोग कैसे करें? जावास्क्रिप्ट में MSIE और addEventListener समस्या? Printf परिवार का उपयोग करके size_t variable को कैसे प्रिंट किया जा सकता है? सी # बनाम एफ # या एफ # बनाम सी # का उपयोग करने के क्या लाभ हैं? सभी तालिकाओं की खोज करें, किसी विशिष्ट मान के लिए सभी कॉलम SQL सर्वर प्रोग्रामिंग को बंद करना MVC पर कई रिश्ते डेटा को सहेजना दृश्य को देखें लंबी मतदान / HTTP स्ट्रीमिंग सामान्य प्रश्न JQuery के साथ एक नया तत्व बनाने का पसंदीदा तरीका 64-बिट के साथ एक 32-बिट लूप गिनती चर को बदलकर पागल प्रदर्शन विचलन का परिचय दिया गया है कैसे jQuery में एक लिंक पर क्लिक करते समय चलने () को रोकने के लिए?

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

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

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

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

वेब के समाधान से एकत्रित समाधान "कैसे 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');