2012-07-06 123 views
2

我几乎有两个部分的问题。首先,我试图格式化一个我已经转换为整数的字符串。我有以下代码:格式化整数

If Idx2 = 0 Then  
    response.Write(sName & vbKeyTab & " E01 " & vbKeyTab & CInt(oSplit(1)) & "</br>") 
End If 

这正确地显示我的oSplit(1)75值。我想显示为00075.00

我已经试过这一点,但我得到一个500错误:

Format(CInt(oSplit(1)), "00000.00") 

我的第二个问题是关于我的代码CInt部分。我的oSplit数组中的数据是一个字符串,我将其转换为整数。不过,看起来好像CInt正在四舍五入我的价值。有没有可以传递给CInt的参数来防止这种情况?

谢谢。

+0

当你说你要防止rounding-你的意思是你要防止围捕?即64.6应该给00064.00。 – BonyT 2012-07-06 13:52:53

+0

@BonyT正确。我想'.05'显示为'00000.05'而不是'00001.00'。 – etm124 2012-07-06 13:53:46

+0

错误 - 这不是我所说 - 如果你想.05显示为00000.05,那么你正在处理小数不是整数 – BonyT 2012-07-06 13:55:28

回答

2

要处理0.05,那么你需要将其转换为十进制不是int:

Format(CDec(oSplit(1)), "00000.00") 
+0

虽然转换为小数可以工作,但它意味着这里没有玩的东西,并且比单倍或双倍开销更多。改为使用CSng()。 – Bob77 2012-07-06 17:04:37

+0

或只是'Val()'的变体(和隐式0转换) – Deanna 2012-07-09 10:52:06