2009-11-03 10 views
53

के लिए अग्रणी 0 का उपयोग करने के लिए एक पूर्णांक को पूर्ण करें, मैं एक पूर्णांक को प्रारूपित करना चाहता हूं ताकि यह 1000 के विभाजक (,) के साथ दिखाई दे, लेकिन बिना दशमलव स्थानों के और एक अग्रणी 0.स्ट्रिंग। दशमलव स्थानों के बिना हजारों विभाजक या छोटे पूर्णांक

मेरे प्रयास अब तक किया गया है:

String.Format("{0} {1}", 5, 5000);   // 5 5000 
String.Format("{0:n} {1:n}", 5, 5000);  // 5.00 5,000.00 
String.Format("{0:0,0} {1:0,0}", 5, 5000); // 05 5,000 

उत्पादन मैं होने के बाद कर रहा हूँ:

5 5,000 

वहाँ स्पष्ट कुछ है कि मैं याद कर रहा हूँ है?

+1

इस उत्तर को देख उन लोगों के लिए: ध्यान रखें कि अन्य संस्कृतियों हजार विभाजक के लिए डॉट वापस आ सकते हैं (।)। तो सुनिश्चित करें कि आप इस स्ट्रिंग का उपयोग कहां करेंगे और इसे सही तरीके से पार्स करें। –

उत्तर

51

यह मेरे लिए काम किया।

String.Format("{0:#,0} {1:#,0}", 5, 5000); // 5 5,000 
+1

System.String.Format ("Bla: {0: #, ## 0; (- #, ## 0)}", 803000000.656) –

+0

यदि गोल किए बिना: System.String.Format ("Bla: {0: # , ## 0; (- #, ## 0)} ", तल (803000000.456)) –

25
String.Format("{0:#,0} {1:#,0}", 5, 5000); // "5 5,000" 
  • एक प्रारूप स्ट्रिंग में 0 बाकी अंकों कि यहाँ अंतर्गत आता है डाल का मतलब है, या एक [प्रमुख/अनुगामी] शून्य [बातें संरेखित, आदि बनाने के लिए]। संपादित करें: आप निश्चित रूप से पैटर्न में अंतिम अंक के रूप में एक चाहते हैं, या शून्य मान को खाली स्ट्रिंग
  • # का अर्थ आउटपुट में कुछ भी नहीं डालेगा जब तक कि यहां कोई महत्वपूर्ण अंक न हो।

संपादित करें (धन्यवाद @eulerfx):

  • अंतिम भाग (के रूप में मैं शुरू में यह था) बल्कि एक # की तुलना में एक 0 होने की जरूरत है के रूप में शून्य के एक मूल्य अन्यथा एक शून्य के रूप में प्रदान की जाएगी लम्बाई स्ट्रिंग।
+2

'#' वास्तव में कहीं भी जगह नहीं डालता है? मैंने सोचा कि अगर वहां कोई अंक नहीं है तो उसने कुछ भी नहीं किया है ... – Svish

+0

@ स्विस: अच्छा पकड़, संपादित, धन्यवाद। –

+0

यह संख्या 0 है जब यह 0 है। – eulerfx

4

प्रयास करें

String.Format("{0:#,#}", 4000); 
+0

देखें @ eulerfx की टिप्पणी मेरा उत्तर –

45

इस प्रयास करें: -

String.Format("{0:n0}",5000) // 5,000 
String.Format("{0:n0}",5) // 5 
String.Format("{0:n0}",0) // 0 
+0

+1 मैं जानना चाहता हूं कि अज्ञात डाउनवोट क्यों हुआ ... –

+0

क्या यह एक है सुसंस्कृत? यानी, सही हजारों विभाजक का उपयोग करेंगे? – mpen

+0

हां, अगर आपने फॉर्मप्रोवाइडर प्रदान नहीं किया है तो स्ट्रिंग.फॉर्मैट वर्तमान संस्कृति जानकारी का उपयोग करता है। इसलिए यदि आपने अंक समूह समूह (हजार विभाजक) को बदल दिया है, तो परिणाम 5000 – ZafarYousafi

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