मैं कुछ प्रतिशत मान पैड करना चाहता हूं ताकि दशमलव स्थान से पहले 3 इकाइयां हों। स्याही के साथ मैं '% 03d' का उपयोग कर सकता हूं - क्या फ्लोट्स के बराबर है?पैड पायथन तैरता
'% .3f' दशमलव स्थान के बाद काम करता है लेकिन '% 03f' कुछ भी नहीं करता है।
मैं कुछ प्रतिशत मान पैड करना चाहता हूं ताकि दशमलव स्थान से पहले 3 इकाइयां हों। स्याही के साथ मैं '% 03d' का उपयोग कर सकता हूं - क्या फ्लोट्स के बराबर है?पैड पायथन तैरता
'% .3f' दशमलव स्थान के बाद काम करता है लेकिन '% 03f' कुछ भी नहीं करता है।
'% 03.1f' काम करता है (1 किसी भी नंबर, या खाली स्ट्रिंग हो सकता है):
>>> "%06.2f"%3.3
'003.30'
>>> "%04.f"%3.2
'0003'
ध्यान दें कि क्षेत्र चौड़ाई दशमलव और दशमलव अंक भी शामिल है।
आप ज़फिल का भी उपयोग कर सकते हैं।
str(3.3).zfill(5)
'003.3'
यह उत्तर स्ट्रिंग स्वरूपण से अधिक पायथनिक है। – refi64
वैकल्पिक रूप से, आप उपयोग करना .format
चाहते हैं:
{:6.1f}
↑ ↑
| |
# digits to pad | | # of decimal places to display
{:6.1f}
उपयोग के उदाहरण:
'Num: {:6.1f}'.format(number)
यदि मान ऋणात्मक है, अग्रणी '- 'फ़ील्ड चौड़ाई गिनती में से एक का उपभोग करेगा - "% 06.2f"% -3.3 "-03.30" देता है, इसलिए यदि आप मी ऋणात्मक होने पर भी 3 अंक हैं, आपको फ़ील्ड चौड़ाई में एक और जोड़ना होगा। आप '*' फ़ील्डविड्थ मान का उपयोग करके ऐसा कर सकते हैं, और एक गणना मूल्य पास कर सकते हैं: value = -3.3; प्रिंट करें "% 0 * .2f"% (6+ (मान <0), मान) – PaulMcG
यहां @PaulMcGuire का अर्थ है, लेकिन 'प्रारूप' का उपयोग करना: 'value = -3.3; प्रिंट करें "{टी: 0 {प्रारूप} .2 एफ}" प्रारूप (प्रारूप = 6 + (मूल्य <0), टी = मान) '। – Adobe