52/200005/0001과 같은 숫자에 2 자리 체크 (97로 나눈 나머지)를 추가해야합니다 (슬래시는 무시해야합니다).R에서 많은 수의 체크 수를 계산하는 방법?
내 코드는 다음과 같다,하지만 때문에 너무 큰 숫자의 실패
AppendCheckDigits <- function (x) {
stopifnot(is.character(x) & length(x) == 1 & nchar(x) == 14)
cd <- as.integer(paste(substring(x, 1, 2),
substring(x, 4, 9),
substring(x, 11, 14), sep="")) %% 97
paste(x, "/", cd, sep="")
}
테스트를 함께 :
이내가 그것을 어떻게
AppendCheckDigits("52/200005/0001")
을 를 해결할 수 ?
"내가 그토록 완벽한 대답을 기대하지 않았다"는 것 이외에 무엇을 말할 수 있습니까? 몰라! ;-) – user3341592
코드 AppendCheckDigits <- function (x) { stopifnot (is.character (x) & nchar (x) == 14) num <- as.numeric (gsub ("/", "", x)) %% 97 paste0 (x, "/", num)은 귀하와 같은 방식으로 작동하는 것 같습니다. 여기서 "rep"도없고 "return"도 없습니다. 그것들이 정말로 중요합니까? } – user3341592
@ user3341592 아니, 네가 맞다. 여기서 재활용 규칙으로 'rep'를 사용할 필요가 없다. 코드가 훌륭하고 깨끗합니다. – juba