From 77d59160a59a15d8f20548dccae67d4603f1747d Mon Sep 17 00:00:00 2001 From: Laura DeCicco <ldecicco@usgs.gov> Date: Wed, 23 Jan 2013 14:32:01 -0600 Subject: [PATCH] Added a padVariable function to pad "0"'s to any parameter codes inputed with less than 5 digits. --- R/formatCheckParameterCd.r | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/R/formatCheckParameterCd.r b/R/formatCheckParameterCd.r index 550f012e..b799605e 100644 --- a/R/formatCheckParameterCd.r +++ b/R/formatCheckParameterCd.r @@ -1,13 +1,29 @@ formatCheckParameterCd <- function(ParameterCd, interactive=TRUE){ #checks for a 5 digit number - if (nchar(ParameterCd) != 5){ + if (nchar(ParameterCd) < 5){ + + padVariable <- function(x,padTo){ + numDigits <- nchar(x) + if (padTo != numDigits){ + leadingZeros <- paste(rep("0",(padTo-numDigits)),collapse="",sep="") + x <- paste(leadingZeros,x,sep="") + } + return(x) + } + if (interactive){ cat("Most USGS parameter codes are 5 digits long, you entered a ", nchar(ParameterCd), "digit number = ", ParameterCd , ".\n") + + ParameterCd <- padVariable(ParameterCd,5) + cat("The following parameter code will be used instead:",ParameterCd,"\n") cat("If you would like to change the parameter code, enter it here (no quotes), otherwise hit return:\n") tempParameterCd <- readline() if (nzchar(tempParameterCd)) ParameterCd <- tempParameterCd } else { - warningMessage <- paste("Most USGS parameter codes are 5 digits long, you entered ", ParameterCd , ".", sep="") + tempText <- padVariable(ParameterCd,5) + warningMessage <- paste("Most USGS parameter codes are 5 digits long, you entered ", + ParameterCd , ".\n",tempText," will be used instead", sep="") warning(warningMessage) + ParameterCd <- padVariable(ParameterCd,5) } } return(ParameterCd) -- GitLab