2011-12-01 5 views
19

मैंने पूरे इंटरनेट पर $ प्रतीक यानी के साथ एक संश्लेषण के साथ एक नकारात्मक डबल मान प्रारूपित करने के लिए देखा है। मुद्रा प्रकार।

मैं एक .NET प्रारूप स्ट्रिंग रहा हूँ, फ़ॉर्मेट करने के लिए

12345.67 = 12,345.67 

-12345.67 = (12,345.67) 
+2

VB.NET या सी #? शीर्षक और टैग असहमत हैं। – Oded

उत्तर

3

आप FormatNumber फ़ंक्शन का उपयोग कर सकते हैं:

FormatNumber(-100, UseParensForNegativeNumbers:=TriState.True)

वापस आ जाएगी "(100)"

MSDN

+0

यह माइक्रोसॉफ्ट में है। विज़ुअल बेसिक नेमस्पेस, इसलिए इसे सी # में उपयोग करने के लिए आपको माइक्रोसॉफ्ट के लिए एक संदर्भ जोड़ने की जरूरत है। VisualBasic पहले। –

+0

धन्यवाद जॉन! अपने त्वरित उत्तर की सराहना करें! – user715993

+0

एक और कारण (जैसे कि मुझे और चाहिए) क्यों वीबी नियम :-) कोड की एक पंक्ति और चेकबॉक्स जोड़ने के लिए प्रबंधित किया गया है या तो रिपोर्ट को कम करने के लिए या तो एक ऋण चिह्न या ब्रैकेट में – gchq

46

पर और भी कुछ है बचाव के लिए conditional formatting पर एमएसडीएन!

आप एक बार में अपने प्रारूप स्ट्रिंग के तीन अलग-अलग खंडों को निर्दिष्ट कर सकते हैं, उन्हें अर्धविराम से अलग कर सकते हैं। यदि आप दो प्रारूप स्ट्रिंग अनुभाग निर्दिष्ट करते हैं, तो पहले सकारात्मक और शून्य मानों के लिए उपयोग किया जाता है जबकि दूसरा नकारात्मक मानों के लिए उपयोग किया जाता है; यदि आप तीन खंडों का उपयोग करते हैं, तो पहले सकारात्मक मानों के लिए उपयोग किया जाता है, नकारात्मक मानों के लिए दूसरा, और शून्य मानों के लिए तीसरा।

इस सी # कोड से उत्पादन:

 string fmt1 = "#,##0.00"; 
     string fmt2 = "#,##0.00;(#,##0.00)"; 
     double posAmount = 12345.67; 
     double negAmount = -12345.67; 
     Console.WriteLine("posAmount.ToString(fmt1) returns " + posAmount.ToString(fmt1)); 
     Console.WriteLine("negAmount.ToString(fmt1) returns " + negAmount.ToString(fmt1)); 
     Console.WriteLine("posAmount.ToString(fmt2) returns " + posAmount.ToString(fmt2)); 
     Console.WriteLine("negAmount.ToString(fmt2) returns " + negAmount.ToString(fmt2)); 

है:

posAmount.ToString(fmt1) returns 12,345.67 
negAmount.ToString(fmt1) returns -12,345.67 
posAmount.ToString(fmt2) returns 12,345.67 
negAmount.ToString(fmt2) returns (12,345.67) 
संबंधित मुद्दे