2013-07-02 13 views
6

मैंने संख्या प्रारूप स्ट्रिंग के बारे में बहुत से लेख पढ़े हैं, पूर्व: http://msdn.microsoft.com/en-us/library/0c899ak8.aspxसर्वोत्तम संख्या प्रारूप स्ट्रिंग कैसे प्राप्त करें?

मुझे वास्तव में समझ नहीं आता कि सर्वोत्तम प्रारूप स्ट्रिंग कैसे लिखना है। एक निष्कासित परिणाम प्राप्त करने के लिए, मैं कुछ तरीकों से लिख सकता हूं। उदाहरण: प्रिंट नंबर 1234567890 "1,234,567,890" टेक्स्ट के रूप में। ये तरीके एक ही परिणाम देते हैं:

1234567890.ToString("#,#") 
1234567890.ToString("#,##") 

"#, ##" इंटरनेट पर लोकप्रिय है लेकिन क्यों? कृपया मुझे कुछ अच्छी जानकारी दें कि एक अच्छी प्रारूप स्ट्रिंग कैसे लिखें। धन्यवाद।

+0

एक स्ट्रिंग स्वरूपण इस पर निर्भर करता है कि इसे प्रारूपित करने की आवश्यकता क्यों है। क्या आप इसे मुद्रा के लिए प्रारूपित करना चाहते हैं? यदि आप मुद्रा के लिए प्रारूपित करना चाहते हैं तो आप '1234567890.ToString (" C2 ")' या '1234567890.ToString (" c ")' – Prix

+0

का उपयोग कर सकते हैं जब 1234567890 को "1,234,567,890" स्ट्रिंग के रूप में प्रारूपित करना चाहते हैं, तो कई उपयोगकर्ता सोचेंगे "#, ##" का प्रयोग करें, लेकिन हम "#, #" का उपयोग क्यों नहीं करते हैं। यह मेरा सवाल है। –

+0

मैं देखता हूं, मूल रूप से, * # और ## * के बीच क्या अंतर है। दिलचस्प, मैं भी जानना चाहता हूं। – Nolonar

उत्तर

1

जहां तक ​​मैं देख सकता हूँ, वहाँ "#,#" और "#,##" के बीच कोई अंतर नहीं है: दोनों मतलब 'समूह विभाजक के साथ और बिना एक संख्या स्वरूप आंशिक हिस्सा'। गोर विवरण के लिए SSCLI source for general number formatting देखें।

+0

मुझे लगता है कि "#, #" "#, ##" "#, ###" ... एक ही परिणाम दें। लेकिन क्यों "#, ##" दूसरों की तुलना में अधिक लोकप्रिय है। सभी तरीकों से, किस तरह से जल्दी से प्रस्तुत करता है? –

+0

हां, वे सभी समान हैं। चलने के समय में कोई सराहनीय अंतर नहीं होगा (स्रोत देखें) लेकिन प्रारूप स्ट्रिंग में पार्स करने के लिए '#, #' एक कम वर्ण है - यदि आप घर खरीदने के दौरान पेनी के लिए डिकर के इच्छुक हैं। –

+0

'#, ##' अधिक लोकप्रिय क्यों है - सरासर दुर्घटना प्लस कॉपी-पेस्ट कोडिंग। –

0

आपके मामले में इससे कोई फर्क नहीं पड़ता, क्योंकि आप int का उपयोग कर रहे हैं। इस प्रारूप #,## और #,# डबल्स और अर्थ यह है कि दशमलव बिंदु के बाद केवल दो अंक प्रिंट के लिए कर रहे हैं

+2

एआरएम के बाद 2 स्पष्ट रूप से अंतर दिखाता है, नहीं। अल्पविराम एक समूह विभाजक है, दशमलव बिंदु नहीं। – Nolonar

+0

आप दिए गए 2 प्रारूप तारों के बीच अंतर खोजने के लिए एक उदाहरण दे सकते हैं। धन्यवाद। –

+0

आप सही हैं, यह क्षेत्रीय सेटिंग्स पर निर्भर करता है। यदि, समूह विभाजक, तो #, # और #, ## एक ही चीज़ हैं। यदि, दशमलव विभाजक है तो यह –

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