다음 요구 사항에 따라 부동 숫자를 고정 너비로 포맷하는 방법은 무엇입니까?
- n <1 인 경우 선행 0
- 고정 폭을 채우기 위해 후행 십진수 0을 추가하십시오
- 고정 폭을 지나서 소수점 이하 자르기
- 모든 소수점 정렬
예를 들면 다음과 같습니다.
% formatter something like '{:06}'
numbers = [23.23, 0.123334987, 1, 4.223, 9887.2]
for number in numbers:
print formatter.format(number)
출력은 다음과 같습니다
23.2300
0.1233
1.0000
4.2230
9887.2000
답변
for x in numbers:
print "{:10.4f}".format(x)
인쇄물
23.2300
0.1233
1.0000
4.2230
9887.2000
중괄호 안의 형식 지정자는 Python 형식 문자열 구문을 따릅니다 . 특히이 경우 다음과 같은 부분으로 구성됩니다.
- 콜론 앞 의 빈 문자열 은 “다음에 제공된 인수를 가져옵니다”를 의미합니다
format()
–이 경우x
유일한 인수입니다. 10.4f
콜론 뒤 의 부분은 형식 지정 입니다.f
나타내고 고정 소수점 표현.- 는
10
인쇄 공백 lefted 패딩되는 영역의 전체 폭이다. - 는
4
소수점 이하의 자리수.
답변
이것이 답변 된 지 몇 년이 지났지 만 Python 3.6 ( PEP498 )부터 새로운 것을 사용할 수 있습니다 f-strings
.
numbers = [23.23, 0.123334987, 1, 4.223, 9887.2]
for number in numbers:
print(f'{number:9.4f}')
인쇄물:
23.2300
0.1233
1.0000
4.2230
9887.2000
답변
python3에서는 다음이 작동합니다.
>>> v=10.4
>>> print('% 6.2f' % v)
10.40
>>> print('% 12.1f' % v)
10.4
>>> print('%012.1f' % v)
0000000010.4
답변
Python 3.x 형식 문자열 구문을 참조하십시오 .
IDLE 3.5.1
numbers = ['23.23', '.1233', '1', '4.223', '9887.2']
for x in numbers:
print('{0: >#016.4f}'. format(float(x)))
23.2300
0.1233
1.0000
4.2230
9887.2000
답변
패드를 0으로 남겨 둘 수도 있습니다. 예를 들어 number
길이가 9 자이고 0으로 채워진 왼쪽은 다음을 사용합니다.
print('{:09.3f}'.format(number))
따라서이면 number = 4.656
출력은 다음과 같습니다.00004.656
예를 들어 출력은 다음과 같습니다.
numbers = [23.2300, 0.1233, 1.0000, 4.2230, 9887.2000]
for x in numbers:
print('{:010.4f}'.format(x))
인쇄물:
00023.2300
00000.1233
00001.0000
00004.2230
09887.2000
이것이 유용 할 수있는 한 가지 예는 파일 이름을 알파벳 순서로 올바르게 나열하려는 경우입니다. 일부 Linux 시스템에서 숫자는 1,10,11, .. 2,20,21, …입니다.
따라서 파일 이름에 필요한 숫자 순서를 적용하려면 적절한 숫자로 0을 채워야합니다.
답변
파이썬 3에서.
GPA = 2.5
print(" %6.1f " % GPA)
6.1f
당신은 당신이해야에만 도트 후 2 개 자리를 인쇄하면 점 이후 수단은 1 자리 표시 %6.2f
하도록 %6.3f
3 자리 숫자는 시점 이후 인쇄 할 수 있습니다.
답변
배열과 비슷한 것이 필요했습니다. 그것은 나를 도왔다
some_array_rounded=np.around(some_array, 5)