0

我,需要得到像 05:00, -05:00 这样的值,当输入有数字值 5,-5..如果输入值像 10,-12 那么不需要添加前导零..我可以创建一些检查有多少位数的功能,然后在需要时添加“0”字符,但也许有人有最好的决定?

4

4 回答 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 示例怎么样?

http://support.microsoft.com/kb/96458

于 2012-05-29T13:37:20.257 回答