programing tip

숫자를 고정 너비로 ​​지정하고 앞에 0이 붙습니다.

itbloger 2020. 7. 6. 08:01
반응형

숫자를 고정 너비로 ​​지정하고 앞에 0이 붙습니다.


이 질문에는 이미 답변이 있습니다.

다음 코드

a <- seq(1,101,25)
b <- paste("name", 1:length(a), sep = "_")

이 출력을 생성합니다.

"name_1"  "name_26"  "name_51"  "name_76"  "name_101"

모든 값의 너비를 동일하게 유지하려면 다음과 같이 값을 0으로 채우십시오.

"name_001"  "name_026"  "name_051"  "name_076"  "name_101"

어떻게 처리합니까?

(이 질문은 이것과 관련 있습니다.)


이에 대한 몇 가지 해결책이 있습니다.

그들 중 하나가 사용하는 것 sprintf입니다. C문자열에 포함 된 스타일 서식 코드를 사용 하여 전달 된 다른 인수의 형식을 나타냅니다. 예를 들어, 서식 코드 %3d는 숫자를 너비 3의 정수로 형식화하는 것을 의미합니다.

a <- seq(1,101,25)
sprintf("name_%03d", a)
[1] "name_001" "name_026" "name_051" "name_076" "name_101"

또은 formatCpaste:

paste("name", formatC(a, width=3, flag="0"), sep="_")
[1] "name_001" "name_026" "name_051" "name_076" "name_101"

참고 URL : https://stackoverflow.com/questions/8266915/format-number-as-fixed-width-with-leading-zeros

반응형