【发布时间】:2013-08-11 16:30:44
【问题描述】:
我正在尝试在左侧填充一个带有 0 的字符串。输出字符串的长度应该是 7。 这是我的代码:
inputstr = "38"
in = string(7 - Len(inputStr),0) & inputStr
msgbox in
我收到错误预期语句 请帮我 谢谢你
【问题讨论】:
我正在尝试在左侧填充一个带有 0 的字符串。输出字符串的长度应该是 7。 这是我的代码:
inputstr = "38"
in = string(7 - Len(inputStr),0) & inputStr
msgbox in
我收到错误预期语句 请帮我 谢谢你
【问题讨论】:
功能:
Private Function LPad (str, pad, length)
LPad = String(length - Len(str), pad) & str
End Function
用途:
LPad(12345, "0", 7)
【讨论】:
以下代码的运行速度将提高 5%:
inputStr = "38"
result = Right("0000000" & inputStr, 7)
msgbox result
【讨论】:
此函数将使用给定的填充字符将输入值左填充到给定的字符数,而不截断输入值:
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
【讨论】:
in 是保留字,因此不能用作变量名,您必须传递字符串"0" 而不是整数0,所以:
inputStr = "38"
result = string(7 - Len(inputStr), "0") & inputStr
msgbox result
【讨论】:
inputStr 的长度超过 7 个字符,这仍然会失败。