दिलचस्प पोस्ट
जावा में सीरियलाइज करने योग्य और एक्स्ट्रिबोरजबल के बीच अंतर क्या है? wkhtmltopdf: एक्स सर्वर से कनेक्ट नहीं हो सकता जावा के साथ एक प्लगइन सिस्टम बनाने का सर्वोत्तम तरीका आप साइगविन पर विंडोज में क्रॉन्टाब कैसे चलाते हैं? Cx_freeze का उपयोग करते समय मैं अन्य फ़ाइलों को कैसे बंडल कर सकता हूं? फ़ायरफ़ॉक्स और क्रोम 48 में फ्लेक्सबॉक्स का इस्तेमाल करने वाली समस्याओं को प्रस्तुत करना जावास्क्रिप्ट में ऑब्जेक्ट लिटरल्स के लिए गतिशील कुंजी सीएसएस विक्रेता उपसर्गों की सूची? "YYYY-MM-DD HH: मिमी" को पार्स करने के दौरान गलत तारीख का समय बनाने के लिए SimpleDateFormat गतिशील रूप से JavaScript का उपयोग करके शैली-वेबकिट-ट्रांसफॉर्म को सेट कैसे करें? पायथन: दो सीएसवी फाइलों की तुलना करना और समान वस्तुओं की खोज करना कैसे एक गतिविधि से दूसरे में ArrayList <CustomeObject> पास करें? एंड्रॉइड में सीएसवी फ़ाइल पार्स और पार्स करें डीएएल -> बीएलएल <- जीयूआई + संरचना रूट डीआई-बाइंडिंग सेटअप कैसे करें? संदर्भ जेनेरिक के साथ अस्पष्ट है

एक नंबर पर 'दशमलव चिह्न' हजारों विभाजक जोड़ें

पायथन में मैं 1000000 से 1.000.000 प्रारूप कैसे करूं? जहां '।' दशमलव चिह्न हजारों विभाजक है।

वेब के समाधान से एकत्रित समाधान "एक नंबर पर 'दशमलव चिह्न' हजारों विभाजक जोड़ें"

यदि आप एक हजार विभाजक जोड़ना चाहते हैं, तो आप लिख सकते हैं:

 >>> '{0:,}'.format(1000000) '1,000,000' 

लेकिन यह केवल पायथन 2.7 और उच्चतर में काम करता है।

प्रारूप स्ट्रिंग वाक्यविन्यास देखें

पुराने संस्करणों में, आप locale.format () का उपयोग कर सकते हैं:

 >>> import locale >>> locale.setlocale(locale.LC_ALL, '') 'en_AU.utf8' >>> locale.format('%d', 1000000, 1) '1,000,000' 

locale.format() का उपयोग करने का अतिरिक्त लाभ यह है कि यह आपके लोकेल के हजारों विभाजक का उपयोग करेगा, उदा

 >>> import locale >>> locale.setlocale(locale.LC_ALL, 'de_DE.utf-8') 'de_DE.utf-8' >>> locale.format('%d', 1000000, 1) '1.000.000' 

मैं वास्तव में इसे समझ नहीं आया; लेकिन यह है जो मैं समझता हूं:

आप 1123000 से 1,123,000 रूपांतरित करना चाहते हैं आप प्रारूप का उपयोग करके ऐसा कर सकते हैं:

http://docs.python.org/release/3.1.3/whatsnew/3.1.html#pep-378-format-specifier-for-thousands-separator

उदाहरण:

 >>> format(1123000,',d') '1,123,000' 

बस थोड़ा सा जवाब यहाँ विस्तार 🙂

मुझे एक हज़ार से अलग से विभाजित करने की जरूरत है और एक अस्थायी बिंदु संख्या की सटीकता को सीमित कर दिया गया है।

इसे निम्न स्वरूप स्ट्रिंग का उपयोग करके प्राप्त किया जा सकता है:

 > my_float = 123456789.123456789 > "{:0,.2f}".format(my_float) '123,456,789.12' 

यह format() -specifier की मिनी-भाषा का वर्णन करता है:

 [[fill]align][sign][#][0][width][,][.precision][type] 

स्रोत: https://www.python.org/dev/peps/pep-0378/#current-version-of-the-mini-language

itertools का उपयोग आपको कुछ अधिक लचीलापन दे सकता है:

 >>> from itertools import zip_longest >>> num = "1000000" >>> sep = "." >>> places = 3 >>> args = [iter(num[::-1])] * places >>> sep.join("".join(x) for x in zip_longest(*args, fillvalue=""))[::-1] '1.000.000' 

यहाँ केवल एक वैकल्पिक उत्तर है आप अजगर में विभाजन ऑपरेटर का उपयोग कर सकते हैं और कुछ अजीब तर्क के माध्यम से यहां कोड है

 i=1234567890 s=str(i) str1="" s1=[elm for elm in s] if len(s1)%3==0: for i in range(0,len(s1)-3,3): str1+=s1[i]+s1[i+1]+s1[i+2]+"." str1+=s1[i]+s1[i+1]+s1[i+2] else: rem=len(s1)%3 for i in range(rem): str1+=s1[i] for i in range(rem,len(s1)-1,3): str1+="."+s1[i]+s1[i+1]+s1[i+2] print str1 

उत्पादन

 1.234.567.890