我需要有一个字符串,基于一个整数,它应该总是有5位数字。
示例:
myInteger = 999
formatedInteger = "00999"在传统的ASP中,最好的方法是什么?
发布于 2008-11-17 12:09:56
为此,您可以使用字符串操作函数。
本文假设使用VBScript的经典ASP (答案的原始版本)。
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)发布于 2008-11-17 12:08:40
像这样的东西是我大多数时候看到的:
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发布于 2008-11-25 15:02:55
试试这一行代码(好吧,两行代码都有防错功能):
function padZeroDigits(sVariable, iLength)
if (iLength <= len(sVariable)) then padZeroDigits = sVariable : exit function : end if
padZeroDigits = string(iLength - len(sVariable),"0") & sVariable
end functionhttps://stackoverflow.com/questions/295417
复制相似问题