आपके पास string
के रूप में संग्रहीत एक नंबर है, और आप इसे एक संख्यात्मक प्रकार में परिवर्तित करना चाहते हैं।
आप इसे int
(Int32
के रूप में भी जाना जाता है) टाइप करने के लिए परिवर्तित नहीं कर सकते हैं, क्योंकि अन्य उत्तरों का उल्लेख है, उस प्रकार के आपके इच्छित मूल्य को स्टोर करने के लिए पर्याप्त सीमा नहीं है।
इसके बजाय, आपको मान को long
(जिसे Int64
भी कहा जाता है) में परिवर्तित करने की आवश्यकता है। ऐसा करने का सबसे सरल और सबसे दर्दनाक तरीका TryParse
method का उपयोग कर रहा है, जो किसी संख्या के स्ट्रिंग प्रस्तुति को अपने 64-बिट हस्ताक्षरित पूर्णांक समकक्ष में परिवर्तित करता है।
इस विधि का उपयोग करने का लाभ (Parse
जैसे कुछ की बजाय) यह है कि रूपांतरण विफल होने पर अपवाद नहीं फेंकता है। चूंकि अपवाद महंगे हैं, इसलिए आपको पूरी तरह जरूरी होने तक उन्हें फेंकने से बचना चाहिए। इसके बजाए, यदि रूपांतरण सफल होता है तो कनवर्ट किए गए नंबर को प्राप्त करने के लिए विधि के पहले तर्क के रूप में कनवर्ट करने के लिए संख्या और out
मान को स्ट्रिंग निर्दिष्ट करें। वापसी मूल्य एक बूलियन है, यह दर्शाता है कि रूपांतरण सफल था या नहीं।
नमूना कोड:
private void ConvertNumber(string value)
{
Int64 number; // receives the converted numeric value, if conversion succeeds
bool result = Int64.TryParse(value, out number);
if (result)
{
// The return value was True, so the conversion was successful
Console.WriteLine("Converted '{0}' to {1}.", value, number);
}
else
{
// Make sure the string object is not null, for display purposes
if (value == null)
{
value = String.Empty;
}
// The return value was False, so the conversion failed
Console.WriteLine("Attempted conversion of '{0}' failed.", value);
}
}
स्रोत
2011-03-04 11:38:07
एक 'Int32' केवल 10 अंक है (' 2,147,483,647', अहस्ताक्षरित '4,294,967,295'), जहाँ आप अन्य 5 स्टोर करने के लिए करना चाहते हैं? – Bobby
मैं अपने आवेदन में डेटाबेस के रूप में एक्सएमएल का उपयोग कर रहा हूं। मैं पूरे 15 अंकों के मूल्य को संग्रहीत करने के लिए नोड का उपयोग कर रहा हूं। तो क्या मुझे अपने स्ट्रिंग मान को लंबे समय तक गुप्त करना चाहिए? कृपया मेरा मार्ग दर्शन कीजिए। मैं इस प्रकार के रूपांतरणों के लिए नया हूं –
तो, मुझे लगता है कि आप वास्तव में एक 'स्ट्रिंग' को कन्वर्ट करना चाहते हैं जिसमें एक संख्या 'लंबी' है? –