我需要获取像05:00,-05:00这样的值,当输入时数字值为5,-5 ..如果输入值如10,-12则不需要添加前导零...可以创建一些功能,检查有多少位数有数字,然后添加,如果需要“0”字符,但也许任何人有最好的决定?
答案 0 :(得分:2)
我能找到最接近帮助的是VBScript中的FormatNumber函数。 W3在这里有一个很好的示例和测试工具:http://www.w3schools.com/vbscript/func_formatnumber.asp
您很可能必须将此函数包装起来以处理附加0的特定情况。但这应该非常简单,只需执行类似的IFTHEN语句:
IF x > 0 & x < 10 THEN "0" + x
ELSEIF x > -10 & x < 0 THEN "-0" + Abs(x)
或者那种性质的东西。同样,这必须是一个字符串格式化的东西,因为整数总是反映5或-5而不是05或-05
希望有所帮助
答案 1 :(得分:1)
尝试
Function FormatHour (input)
Dim sign
If (input < 0) Then
sign = "-"
End If
FormatHour = sign & FormatDateTime(TimeSerial(Abs(input), 0, 0), vbShortTime)
End Function
答案 2 :(得分:0)
微软的这个lpad和rpad示例怎么样?
答案 3 :(得分:0)
a = array(0, 5, -5, 15, -55)
for each e in a
wscript.echo mid(" -",instr(e,"-")+1,1)&right("0"&abs(e),2)&":00"
next
00:00
05:00
-05:00
15:00
-55:00
OR
for i = 0 to uBound(a)
a(i) = mid(" -",instr(a(i),"-")+1,1)&right("0"&abs(a(i)),2)&":00"
next
wscript.echo join(a,",")
'00:00, 05:00,-05:00, 15:00,-55:00