سؤال

وأريد أن لوح بعض القيم مئوية حتى ان هناك دائما 3 وحدات قبل منزلة عشرية. مع [إينتس] أتمكن من استخدام '٪ 03D "- هناك ما يعادلها ليطفو؟

و'٪. 3F' يعمل لبعد منزلة عشرية ولكن '٪ 03F "لا يفعل شيئا.

هل كانت مفيدة؟

المحلول

و'٪ 03.1f "يعمل (1 يمكن أن يكون أي رقم أو سلسلة فارغة):

>>> "%06.2f"%3.3
'003.30'

>>> "%04.f"%3.2
'0003'

لاحظ أن عرض الحقل يتضمن العشرية والأرقام الكسرية.

نصائح أخرى

وبدلا من ذلك، إذا كنت ترغب في استخدام .format:

              {:6.1f}
                ↑ ↑ 
                | |
# digits to pad | | # of decimal places to display

تحليل Copypasta: {:6.1f}

ومثال على الاستخدام:

'Num: {:6.1f}'.format(number)

هل يمكن استخدام zfill كذلك.

str(3.3).zfill(5)
'003.3'

وهناك مثال القصير:

var3= 123.45678
print(
    f'rounded1    \t {var3:.1f} \n' 
    f'rounded2    \t {var3:.2f} \n' 
    f'zero_pad1   \t {var3:06.1f} \n'  #<-- important line
    f'zero_pad2   \t {var3:07.1f}\n'   #<-- important line
    f'scientific1 \t {var3:.1e}\n'
    f'scientific2 \t {var3:.2e}\n'
)

ويعطي مخرجات

rounded1         123.5 
rounded2         123.46 
zero_pad1        0123.5 
zero_pad2        00123.5
scientific1      1.2e+02
scientific2      1.23e+02
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top