我有整数,
Dim myNum as Integer = 123
但我想将String转换为0123(有5个数字)。
我是怎么做到的,谢谢。
答案 0 :(得分:8)
从您的问题中不清楚您是否需要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)
答案 1 :(得分: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
等
答案 2 :(得分: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 00123
答案 3 :(得分:-1)
尝试使用Tostring()格式。
myNum.ToString("00000")