我正在尝试用左边的0填充一个字符串。输出字符串的长度应为7。 这是我的代码:
inputstr = "38"
in = string(7 - Len(inputStr),0) & inputStr
msgbox in
我收到错误预期声明 请帮我 谢谢
答案 0 :(得分:16)
以下代码的运行速度提高5%:
inputStr = "38"
result = Right("0000000" & inputStr, 7)
msgbox result
答案 1 :(得分:15)
此函数将使用给定的填充字符将输入值左键填充到给定的字符数,而不截断输入值:
Function LPad(s, l, c)
Dim n : n = 0
If l > Len(s) Then n = l - Len(s)
LPad = String(n, c) & s
End Function
输出:
>>> WScript.Echo LPad(12345, 7, "0")
0012345
>>> WScript.Echo LPad(12345, 3, "0")
12345
答案 2 :(得分:6)
in
是保留字,因此不能用作变量名,您必须传递字符串"0"
而不是整数0
,所以:
inputStr = "38"
result = string(7 - Len(inputStr), "0") & inputStr
msgbox result
答案 3 :(得分:1)
功能:
Private Function LPad (str, pad, length)
LPad = String(length - Len(str), pad) & str
End Function
使用:
LPad(12345, "0", 7)