我,需要得到像 05:00, -05:00 这样的值,当输入有数字值 5,-5..如果输入值像 10,-12 那么不需要添加前导零..我可以创建一些检查有多少位数的功能,然后在需要时添加“0”字符,但也许有人有最好的决定?
问问题
11605 次
4 回答
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
希望有帮助
于 2012-05-29T12:18:31.140 回答
1
尝试
Function FormatHour (input)
Dim sign
If (input < 0) Then
sign = "-"
End If
FormatHour = sign & FormatDateTime(TimeSerial(Abs(input), 0, 0), vbShortTime)
End Function
于 2012-05-29T12:36:13.697 回答
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
或者
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
于 2012-05-29T17:28:42.310 回答
0
Microsoft 的这个 lpad 和 rpad 示例怎么样?
于 2012-05-29T13:37:20.257 回答