문제

소수점 이전에 항상 3 개의 단위가 있도록 몇 퍼센트 값을 채우고 싶습니다. ints를 사용하면 '%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