我需要一个字符串,基于一个整数,该字符串始终应该有5个数字。
例如:
myInteger = 999
formatedInteger = "00999"
在经典ASP中,最好的方式是什么?
我需要一个字符串,基于一个整数,该字符串始终应该有5个数字。
例如:
myInteger = 999
formatedInteger = "00999"
Const NUMBER_DIGITS = 5
Dim myInteger
Dim formatedInteger
myInteger = 999
formatedInteger = Right(String(NUMBER_DIGITS, "0") & myInteger, NUMBER_DIGITS)
Const NUMBER_PADDING = "000000000000" ' a few zeroes more just to make sure
Function ZeroPadInteger(i, numberOfDigits)
ZeroPadInteger = Right(NUMBER_PADDING & i, numberOfDigits)
End Function
' Call in code:
strNumber = ZeroPadInteger(myInteger, 5)
我大多数情况下看到的是这样的:
function PadNumber(number, width)
dim padded : padded = cStr(number)
while (len(padded) < width)
padded = "0" & padded
wend
PadNumber = padded
end function
PadNumber(999, 5) '00999
尝试一下这个一行代码(好吧,有错误预防的话,两行代码):
function padZeroDigits(sVariable, iLength)
if (iLength <= len(sVariable)) then padZeroDigits = sVariable : exit function : end if
padZeroDigits = string(iLength - len(sVariable),"0") & sVariable
end function
实际上,你应该问自己为什么需要这个。
如果这是为了显示目的,那么最好在显示时应用字符串格式化函数(肯定会有一个),将整数转换为字符串。
另一方面,如果您需要它进行内部处理,即您始终期望在循环或其他操作中使用五位数字,但不希望对该值进行算术运算,则首先将整数转换为字符串,然后再进行任何处理。
简而言之,将整数变量转换为字符串并存储在新变量中,然后使用该变量。