मेरे पास एक फ़ंक्शन है जो फ्लोट तर्क (आमतौर पर पूर्णांक या एक महत्वपूर्ण अंक के साथ दशमलव) लेता है, और मुझे दो दशमलव स्थानों (5 -> 5.00, 5.5 -> 5.50, आदि) के साथ एक स्ट्रिंग में मानों को आउटपुट करने की आवश्यकता है। मैं पायथन में यह कैसे कर सकता हूं?
मेरे पास एक फ़ंक्शन है जो फ्लोट तर्क (आमतौर पर पूर्णांक या एक महत्वपूर्ण अंक के साथ दशमलव) लेता है, और मुझे दो दशमलव स्थानों (5 -> 5.00, 5.5 -> 5.50, आदि) के साथ एक स्ट्रिंग में मानों को आउटपुट करने की आवश्यकता है। मैं पायथन में यह कैसे कर सकता हूं?
जवाबों:
च-स्ट्रिंग प्रारूपण:
यह पायथन 3.6 में नया था - स्ट्रिंग को हमेशा की तरह उद्धरण चिह्नों में रखा गया है, f'...
उसी तरह से आप r'...
कच्चे स्ट्रिंग के लिए तैयार होंगे। फिर आप अपने स्ट्रिंग, चर, संख्या, ब्रेसिज़ के अंदर जो कुछ भी रखना चाहते हैं उसे रखें f'some string text with a {variable} or {number} within that text'
- और पायथन पिछले स्ट्रिंग प्रारूपण विधियों के साथ मूल्यांकन करता है, सिवाय इसके कि यह विधि बहुत अधिक पठनीय है।
>>> a = 3.141592
>>> print(f'My number is {a:.2f} - look at the nice rounding!')
My number is 3.14 - look at the nice rounding!
आप इस उदाहरण में देख सकते हैं कि हम इसी तरह के दशमलव स्थानों के साथ पिछले स्ट्रिंग प्रारूपण विधियों के साथ प्रारूपित करते हैं।
एनबी a
एक संख्या, चर, या यहां तक कि एक उदाहरण हो सकता है f'{3*my_func(3.14):02f}'
।
आगे बढ़ते हुए, नए कोड के साथ मैं सामान्य% s या str.format () विधियों पर f- स्ट्रिंग्स पसंद करता हूं क्योंकि f-strings अधिक पठनीय हो सकता है, और अक्सर बहुत तेज होता है ।
स्ट्रिंग स्वरूपण:
print "%.2f" % 5
math.floor
, math.ceil
याround
स्ट्रिंग स्वरूपण:
a = 6.789809823
print('%.2f' %a)
या
print ("{0:.2f}".format(a))
गोल समारोह का उपयोग किया जा सकता है:
print(round(a, 2))
गोल () के बारे में अच्छी बात यह है कि, हम इस परिणाम को दूसरे चर में संग्रहीत कर सकते हैं, और फिर इसका उपयोग अन्य उद्देश्यों के लिए कर सकते हैं।
b = round(a, 2)
print(b)
round
। इसे सिर्फ प्रदर्शन के उद्देश्य से इस्तेमाल नहीं किया जाना चाहिए ।
round(5.0001, 2)
-> 5.0
, नहीं'5.00'
सबसे कम पायथन 3 वाक्य रचना:
n = 5
print(f'{n:.2f}')
मुझे पता है कि यह एक पुराना प्रश्न है, लेकिन मैं स्वयं इसका उत्तर खोजने में संघर्ष कर रहा था। यहाँ मैं क्या लेकर आया हूँ:
अजगर 3:
>>> num_dict = {'num': 0.123, 'num2': 0.127}
>>> "{0[num]:.2f}_{0[num2]:.2f}".format(num_dict)
0.12_0.13
पायथन 3 सिंटैक्स का उपयोग करना:
print('%.2f' % number)
यदि आप कॉलिंग इनपुट के समय दो दशमलव स्थानों के साथ एक फ्लोटिंग पॉइंट वैल्यू प्राप्त करना चाहते हैं,
इसे देखें ~
a = eval(format(float(input()), '.2f')) # if u feed 3.1415 for 'a'.
print(a) # output 3.14 will be printed.
eval
जब आप बस कर सकते हैं तो एक स्ट्रिंग क्यों round
? वैसे भी यह ठीक से काम नहीं करता है क्योंकि यदि आप भोजन करते हैं 5
, तो आपको ओपी चाहता है के 5.0
बजाय मिलता 5.00
है।
nan
और के लिए काम नहीं करता है inf
।
d=3
, तो वाक्य रचना है"{:.{}f}".format(5, d)