我需要一個基於整數的字符串,該整數應該總是有5位數字。將整數格式化爲5位數的字符串
例子:
myInteger = 999
formatedInteger = "00999"
什麼是傳統的ASP這樣做的最佳方式?
我需要一個基於整數的字符串,該整數應該總是有5位數字。將整數格式化爲5位數的字符串
例子:
myInteger = 999
formatedInteger = "00999"
什麼是傳統的ASP這樣做的最佳方式?
您可以使用字符串處理函數這一點。
這個假設經典的ASP與VBScript(原始版本的答案)。
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
我喜歡如何固有處理,其中數比所希望的寬度更多位數的情況。 – 2008-11-22 01:37:21
真的,你應該問自己,爲什麼你會想這樣。
如果這是用於顯示的目的,那麼最好在顯示點應用一個字符串格式化函數(將會有一個)給你的整數。另一方面,如果你需要它進行內部處理,也就是說,你總是期待循環中的五位數字或其他任何東西,但是你不希望對該值進行算術運算,那麼將整數轉換爲字符串,然後做任何處理。
總之,將整型變量轉換爲字符串並存儲在一個新變量中,然後使用它。
嘗試此一襯墊(以及兩個與錯誤預防):
function padZeroDigits(sVariable, iLength)
if (iLength <= len(sVariable)) then padZeroDigits = sVariable : exit function : end if
padZeroDigits = string(iLength - len(sVariable),"0") & sVariable
end function
我會在這一個上+1。我喜歡簡單。 對於它只是要做的問題: MyString = right(「000000」&cstr(myinteger),6) – Stefan 2008-11-17 12:30:35