2015-03-13 81 views
3

我有整數,Vb.net格式編號爲String

Dim myNum as Integer = 123 

但我要轉換爲字符串爲0123(有5號)。

我該怎麼做,謝謝。

+1

[?C#int轉換成字符串填零(可能重複http://stackoverflow.com/questions/ 4325267/c-sharp-convert-int-to-string-with-padding-zeros) – Eric 2015-03-13 08:04:02

+0

該文本與示例衝突。 '0123'只有4個字符,但你說你想要5.你能澄清嗎? – 2015-03-14 03:24:05

+0

@Eric我相信這是重複的。某處還必須有另一個VB.Net數字格式的問題(我現在懶得搜索它)。但它不是重複的鏈接問題。雖然它們非常相似,甚至使用相同的.Net API,但我們應該關閉C#重複的VB問題的情況非常罕見。 – 2015-03-14 03:29:28

回答

-1

至於整數轉換成字符串,嘗試簡單地使用設置是這樣的:

Dim myNum as Integer = 123; 
Dim stringValue as String; 
stringValue = CStr(myNum); 

如果您需要到前導零添加到這一點,你可以用字符串手動添加它們,或者你可以嘗試編寫去像宏:

If (myNum - (10 * (myNum/10))) = 5 Then 
    stringValue = CStr(myNum) 
ElseIf (myNum - (10 * (myNum/10))) = 4 Then 
    stringValue = "0" & CStr(myNum) 
ElseIf (myNum - (10 * (myNum/10))) = 3 Then 
    stringValue = "00" & CStr(myNum) 
ElseIf (myNum - (10 * (myNum/10))) = 2 Then 
    stringValue = "000" & CStr(myNum) 
ElseIf (myNum - (10 * (myNum/10))) = 1 Then 
    stringValue = "0000" & CStr(myNum) 
Else 
    stringValue = "00000" 

的(myNum的 - (10 *(myNum的/ 10)))的有效模量的數學。信用:VBA equivalent to Excel's mod function

我沒有測試這個代碼,所以我很抱歉,如果它不能開箱即用,但總體思路如上。上面也假設123或1234等數字。您還可以嘗試操縱字符串並通過測試新轉換的字符串的長度來組合它們。

Dim newString as String 
If Len(stringValue) = 3 Then 
    newString = "00" & stringValue 
ElseIf Len(stringValue) = 2 Then 
    newString = "000" & stringValue 

+1

_Way_過於複雜。這是一個單線。 – 2015-03-14 03:25:49

+1

偉大的反饋。總是樂於學習更簡單的方法來做事情。我是VBA noob,所以很高興看到更高效的想法。 – Ambasabi 2015-03-14 05:57:12

+0

這不是VBA。 VB.Net是一個非常不同的動物。 – 2015-03-14 14:48:43

0

這裏是一個將數字轉換爲字符串一個很簡單的方法,並添加前導零如果數字長度小於5位

Dim myNum as Integer = 123 
Dim strNum as String 

strNum = String(5-len(myNum),"0") & cstr(myNum) 

debug.print strNum 'This will display 0
+0

還有一個更簡單的方法:'myNum.ToString(「00000」)' – 2015-03-14 03:30:12

+0

感謝Joel,但問題是VBA不是VB或VB.Net。 ToString方法在VBA中不可用 – 2015-03-17 02:45:45

+0

確定嗎?因爲它被標記爲VB.Net,並且修訂歷史記錄不會將VBA作爲問題的一部分。如果你是對的,我們需要,我們需要修復標籤。 – 2015-03-17 02:56:43

4

目前尚不清楚,從你的問題是你想要4個字符還是5.下面是你如何做5個。如果你想要4個,只需要在格式字符串中刪除一個零。

Dim myNum as Integer = 123 
Dim myNumString As String = myNum.ToString("00000") 

您也可以用的String.Format()使用此:

Dim myNumString As String = String.Format("{0:00000}", myNum)