2013-07-17 100 views
0

在運行將VB6.Format()轉換爲VS 2008代碼的工具後遇到一些問題。我們有這樣的說法:VB.Net VB6.Format()轉換後的問題

VB6.Format(InVariable, szFormatMask)) 

換算成這樣:

InVariable.ToString(szFormatMask) 

的問題是,現在,當我們調用它遇到的問題,它不能轉換爲字符串=「」我們的功能爲整數值。 InVariable是一個對象,而szFormatMask是我們函數中的一個字符串。你有什麼建議不會再造成這個問題了嗎?

+1

'InVariable'的確切類型是什麼?(即使它被轉換爲'System.Object',它究竟是什麼?) – Dai

+0

在這種情況下,它是一個被髮送到函數的雙重形式 – user2178477

+0

請參見http: //sackoverflow.com/a/2187770/11683 – GSerg

回答

0

添加檢查空字符串並相應地改變:

If szFormatMask = "" Then szFormatMask = "G" 
Return InVariable.ToString(szFormatMask) 

的「G」格式的字符串值是特殊的是指定輸出爲「常規」數字格式。

(在代碼風格的簡短:請避開匈牙利命名法,例如Insz前綴,和名稱的局部變量和使用小寫camelCase參數,如大寫CamelCase被保留用於類型成員等的方法和屬性

+0

現在,我正在從類型「G」轉換爲類型Integer異常無效。 – user2178477