2012-07-06 119 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