답변:
파이썬에는 제로 앞에 0이 내장되어 있습니다. str.zfill()
텍스트 필드에 선행 0을 추가하는 데 사용 합니다.
my_string = "1"
print my_string.zfill(2) # Prints 01
my_string = "1000"
print my_string.zfill(2) # Prints 1000
( https://stackoverflow.com/a/21620624/5754917의 예 )
따라서 필드 계산기에서 ID로 필드 이름을 지정한 다음 0으로 채워야합니다.
str(!myfield!).zfill(5)
그리고 최종 결과 :
필드 계산기를 "Python Parser"로 전환해야합니다
텍스트를 따옴표로 묶으십시오. VB 스크립트 모드 인 경우 큰 따옴표, Python 모드 인 경우 큰 따옴표 또는 작은 따옴표입니다.
설명 : 숫자 만 입력하면 필드 계산기에 정수 형식으로 값을 제공하며, 문자열 유형 필드에 입력하기 위해 문자열로 변환됩니다. 정수의 경우 선행 0은 값과 의미가 없으므로 생략됩니다. 따옴표로 묶으면 이미 올바른 데이터 유형 인 문자열을 대신 전달하므로 혼자 남겨집니다.
또한이 필드는 실제로 "텍스트"유형이라고 가정합니다. Long 또는 Short Integer로 설정되어 있으면이 동작이 발생할 수도 있습니다.
파이썬 코드 블록을 사용할 수 있습니다 .
이 함수 정의를 코드 블록에 추가하십시오.
def addZero(value):
if value <= 9:
output = '0000' + str(value)
elif value <= 99:
output = '000' + str(value)
elif value <= 999:
output = '00' + str(value)
elif value <= 9999:
output = '0' + str(value)
return output
다음과 같이 사용할 수 있습니다.
addZero(!Field!) # numeric field
또는
addZero(123) # for example