2013-05-09 7 views
8

के बाद प्रारूप संख्या यह शायद एक साधारण सवाल है, और मुझे यकीन है कि string.format(), NumberFormatInfo, CultureInfo या उनमें से कुछ संयोजन के साथ ऐसा करने का एक तरीका है, लेकिन मुझे 3 अंकों के दशमलव स्थानों के साथ बड़े संख्यात्मक मान प्रदर्शित करने की आवश्यकता है, हजारों विभाजक के लिए अल्पविराम के बजाय एक दशमलव, और फिर लाखों विभाजक और ऊपर के लिए एक अल्पविराम।प्रारूप संख्या 3 पीछे दशमलव स्थानों, दशमलव हजारों विभाजक, और अल्पविराम

इनपुट या तो एक पूर्ण संख्या या एक नंबर तीन दशमलव स्थानों (20000, 123.456, 12.2)

उदाहरण के लिए, जिसके बाद है:

142650 के रूप में 142,650.000

11200,50 प्रदर्शित करना चाहिए करना चाहिए 11,200.500

123,456 के रूप में प्रदर्शन 123,456

रहना चाहिए मुझे लगता है v विभाजित के रूप में यह एक ही है 1000 के बाद और फिर string.format("{0:f3}", value) का उपयोग करके, लेकिन मैं कुछ ऐसी चीज ढूंढने की उम्मीद कर रहा था जो अंकगणित नहीं था।

String.Format("{0:#,#.000}", value) मुझे करीब हो जाता है, लेकिन यह कम संख्या पर एक प्रमुख 0 डालता है, इसलिए 1.256 ०१.२५६ के रूप में प्रदर्शित कर रहा है, जब मैं यह सिर्फ 1,256

+1

आप मूल्य के लिए वास्तव में क्या गुजर रहे हैं? 'स्ट्रिंग। फॉर्मेट (" {0: #, # 000} ", 1256) 'प्रिंट्स" 1,256.000 "। मुझे लगता है कि हमें आपके अधिक कोड को देखने की ज़रूरत है। –

+0

संपादित देखें। उसके लिए माफ़ करना। – Brett

+0

आपके संपादन के आधार पर, ऐसा लगता है कि अब आप 1000 से इनपुट को विभाजित कर रहे हैं। जैसा कि आप कहते हैं, एफ 3 प्रारूप आपको इस बिंदु पर बिल्कुल वही देना चाहिए जो आपको चाहिए। –

उत्तर

11

प्रारूप String.Format("{0:#,0.000}", value) मेरे लिए यह कर समाप्त हो गया रहने के लिए की जरूरत है। यह 1 से 3 पिछली दशमलव स्थानों से कहीं भी पूरी संख्याओं और संख्याओं के लिए काम करता है।

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