Vb.net格式编号为String

le *_*lan 6 vb.net

我有整数,

Dim myNum as Integer = 123
Run Code Online (Sandbox Code Playgroud)

但我想转换为String为0123(有5个数字).

我是怎么做到的,谢谢.

Joe*_*orn 8

从你的问题不清楚你是否需要4个字符或5.这是你如何为5做的.如果你想要4,只需在格式字符串中删除一个零.

Dim myNum as Integer = 123
Dim myNumString As String = myNum.ToString("00000")
Run Code Online (Sandbox Code Playgroud)

您也可以将它与String.Format()一起使用:

Dim myNumString As String = String.Format("{0:00000}", myNum)
Run Code Online (Sandbox Code Playgroud)


小智 2

至于将整数转换为字符串,请尝试简单地使用如下设置:

Dim myNum as Integer = 123;
Dim stringValue as String;
stringValue = CStr(myNum);
Run Code Online (Sandbox Code Playgroud)

如果您需要为此添加前导零,您可以手动在它们后面附加一个字符串,或者您可以尝试编写一个类似于以下内容的宏:

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"
Run Code Online (Sandbox Code Playgroud)

(myNum - (10 * (myNum / 10))) 是有效的模数数学。图片来源:VBA 相当于 Excel 的 mod 函数

我没有测试这段代码,所以如果它不能开箱即用,我深表歉意,但总体思路如上所述。上面还假设了 123 或 1234 等数字。您还可以尝试操作字符串并通过测试新转换的字符串的长度来组合它们。

Dim newString as String
If Len(stringValue) = 3 Then
    newString = "00" & stringValue
ElseIf Len(stringValue) = 2 Then
    newString = "000" & stringValue
Run Code Online (Sandbox Code Playgroud)

ETC。