2010-01-21 11 views
6

मान लें कि मेरे पास string है, और string का मान धनराशि है, स्थानीयकृत। स्थानीयकरण से, मेरा मतलब है कि यदि देश दशमलव बिंदुओं के बजाय अल्पविराम का उपयोग कर सकता है, उदाहरण के लिए। (यह सिर्फ एक स्थानीयकरण अंतर है जो मुझे पता है।).NET: स्थानीय मुद्रा को पार्सिंग

मैं इन string में से किसी एक को अपने decimal एस संख्यात्मक समकक्षों में कैसे पार्स कर सकता हूं? decimal.TryParse() स्थानीय स्वरूपण को पहचानेंगे? मैं TryParse() के साथ कैसे निर्दिष्ट करूं?

string s = "10,95"; 
decimal d; 
if (decimal.TryParse(s, NumberStyles.Number, CultureInfo.GetCultureInfo("sv-SE"),out d)) 
{ 
    Console.WriteLine(d); 
} 

उत्तर

7

यहाँ एक (इस मामले में स्वीडिश) एक निर्दिष्ट CultureInfo साथ decimal.TryParse का उदाहरण है। उनमें से एक तर्क के रूप में संस्कृति की जानकारी लेता है (CultureInfo लागू करता IFormatProvider):

System.Decimal.TryParse(string s, System.Globalization.NumberStyles style, System.IFormatProvider provider, out decimal result) 

अन्य एक बहुत कम तर्क लेता है और प्रणालियों CultureInfo उपयोग करता है:

System.Decimal.TryParse(string s, out decimal result) 

मैं पूरी तरह से यकीन नहीं है, लेकिन मुझे लगता है कि आप वर्तमान सिस्टम संस्कृति को

Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo("sv-SE"); 
द्वारा सेट कर सकते हैं
0

decimal.TryParse 2 भार के साथ आता है:

संबंधित मुद्दे