2012-07-15 26 views
8

मैं कुछ हद तक अजगर के साथ प्रोग्रामिंग के लिए एक नया हूँ इसलिए कृपया मुझ पर आसान हो जाएं। मैं स्ट्रिंग विशेषता क्रोध को कॉल करने की कोशिश कर रहा हूं और एक फ़्लोटिंग पॉइंट के लिए परिशुद्धता भी निर्दिष्ट करता हूं। यहाँ कोड और नमूना उत्पादन (ध्यान दें 0.00 है सही करने के लिए उचित नहीं) है:परिशुद्धता के साथ एक फ्लोट मुद्रित करें उचित

print '%s: %s %s \tchange: %.2f' % (Instance1.symbol.ljust(5), 
    Instance1.name.ljust(50), Instance1.buyprices.rjust(10), Instance1.val) 

उत्पादन:

AXP : American Express Company       55.38 change: -1.15 
AXR : Amrep Corp.          6.540 change: 0.00 
+0

धन्यवाद लेवोन !!! – siesta

उत्तर

16

इस तरह का उपयोग कर दो दशमलव अंकों के साथ अपने उत्पादन को प्रारूपित करने का एक उदाहरण दिखाता पुराने % स्वरूपण विधि:

v1 = 55.39 
v2 = -1.15 
v3 = 6.54 
v4 = 0.00 

print '%8.2f %8.2f' % (v1, v2) 
print '%8.2f %8.2f' % (v3, v4) 

इसी उत्पादन:

55.39  -1.15 
    6.54  0.00 

वैकल्पिक रूप से, आप "नए और बेहतर" .format() फ़ंक्शन का उपयोग कर सकते हैं जो थोड़ी देर के लिए होगा और जानना उचित होगा। निम्नलिखित के रूप में ऊपर ही आउटपुट उत्पन्न करेगा:

print '{:8.2f} {:8.2f}'.format(v1, v2) 
print '{:8.2f} {:8.2f}'.format(v3, v4) 

स्वरूपण निर्देशों के दोनों सेट दशमलव बिंदु के बाद 2 अंकों के साथ एक नाव के रूप में, अपने नंबर के लिए 8 रिक्त स्थान का आवंटन यह प्रारूप। आपको अपनी जरूरतों को पूरा करने के लिए इन मानों को समायोजित करना होगा।

अपने उत्पादन फ़ॉर्मेट करने के लिए किया जाएगा इस दृष्टिकोण का उपयोग करना आसान मुझे लगता है कि जब से .format() आप उत्पादन पर नियंत्रण (incl। न्यायोचित ठहरा, भरने, सटीक) के एक बहुत दे देंगे।

0

कोई बात नहीं, मैं सही निश्चित रूप से मेरे सवाल पोस्टिंग के बाद यह पता लगा ...

changed to this: 
    def change_value(self, sym, buy, sell): 
     self.sym = sym 
     temp = float(buy) - float(sell) 
     self.val = "%.2f" % temp 




and then called str(Instance1.val).rjust(10)