2011-03-11 14 views
5

मैं सभी अलग-अलग मुद्राओं को उनके सही प्रारूप में सफलतापूर्वक प्रारूपित करने के लिए CultureInfo विधियों का उपयोग कर रहा हूं।मूल्यों के बाद मुद्रा चिह्न दिखाएं

लेकिन यूरो और एसईके मुद्राओं जैसे कुछ अपवादों पर मुझे मूल्य के बाद उन्हें जोड़ने में सक्षम होना चाहिए। फिलहाल मेरी संस्कृतिइन्फो उन्हें निम्नलिखित तरीके से स्वरूपित कर रही है: "SEK 1.00,00" जब इसे "1.00,00 एसईके" होना चाहिए।

किसी भी मदद की सराहना की है।

उत्तर

7

आपको संस्कृति के लिए NumberFormatInfo.CurrencyPositivePattern और NumberFormatInfo.CurrencyNegativePattern गुणों को बदलने की आवश्यकता है।

CultureInfo swedish = new CultureInfo("sv-SE"); 
swedish = (CultureInfo)swedish.Clone(); 
swedish.NumberFormat.CurrencyPositivePattern = 3; 
swedish.NumberFormat.CurrencyNegativePattern = 3; 

और फिर

var value = 123.99M; 
var result = value.ToString("C", swedish); 

आप इच्छित परिणाम देना चाहिए:

बस मूल संस्कृति क्लोन। यह आपको मिलना चाहिए:

123,99 kr

+0

हाँ कि काम करता है! धन्यवाद एलेक्स। बस इतना है कि मैं समझता हूं कि आपने क्या किया। मुद्रा की प्रतीक को अंत में स्थानांतरित करने के लिए मुझे केवल मुद्रापोसिटिव पैटर्न और मुद्रा नकारात्मक पैटर्न तरीकों को जोड़ना था? – R100

+1

@ आर 100: हाँ, लेकिन ये 'NumberFormatInfo' वर्ग' के गुण (विधियों नहीं) हैं। – Alex

1

CurrencyNegativePattern बारे में सावधान रहें

इस कोड

CultureInfo swedish = new CultureInfo("sv-SE"); 
swedish = (CultureInfo)swedish.Clone(); 
swedish.NumberFormat.CurrencyPositivePattern = 3; 
swedish.NumberFormat.CurrencyNegativePattern = 3; 

आप

134 देंगे, 99 केआर

kr.134,99kr.-

swedish.NumberFormat.CurrencyNegativePattern = 8; 

को CurrencyNegativePattern बदलने से आप

134,99 kr देंगे।

-134,99 kr।

अधिक जानकारी https://msdn.microsoft.com/en-us/library/system.globalization.numberformatinfo.currencynegativepattern(v=vs.110).aspx

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