请教字符串前面自动补零?

szyyx 2007-11-01 12:44:05
请各位高手帮帮小弟?
我想把下面的文本文件的内容不足13位时,前面自动补零
但不知怎么弄,请各位帮忙?
3
540
2039336
93362993
93370868
93401876
9800200269
11034410048
11034430046

加零之后
00000000000003
00000000000540
00000002039336
00000093362993
00000093370868
00000093401876
00009800200269
00011034410048
00011034430046
...全文
2497 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
zlz_212 2007-11-03
  • 打赏
  • 举报
回复
很多人对语言不熟

说用循环的人全部会去看书
CloneCenter 2007-11-03
  • 打赏
  • 举报
回复
PadLeft最简单了。
szyyx 2007-11-03
  • 打赏
  • 举报
回复
谢谢了
wzuomin 2007-11-01
  • 打赏
  • 举报
回复
Dim s As String = "2039336"
s = s.Trim.PadLeft(14, "0")
nayc 2007-11-01
  • 打赏
  • 举报
回复
String.Trim();//去空格
string.PadLeft(13,'0');//格式化
伯薇 2007-11-01
  • 打赏
  • 举报
回复
我也是先转成Integer然后再Tostring做的,不过要加上try……catch,捕获FormatException.
qizhenggang 2007-11-01
  • 打赏
  • 举报
回复
tostring("000000000000000");
qzrqzr 2007-11-01
  • 打赏
  • 举报
回复
艺术
JustLovePro 2007-11-01
  • 打赏
  • 举报
回复
两种方法:
1.tostring 格式化
2.写个循环,做个判断,只要是字串不到某个长度的,差几个就补几个空格.
vwxyzh 2007-11-01
  • 打赏
  • 举报
回复
都是数字?
那么直接用Integer的ToString方法就可以了
        Dim i As Integer = 10323
Dim s As String = i.ToString("00000000000")
Console.WriteLine(s)

mainbaby 2007-11-01
  • 打赏
  • 举报
回复

Dim str As String = "540"
str = str.PadLeft(13, "0")
MsgBox(str)
nopingno 2007-11-01
  • 打赏
  • 举报
回复
我代碼中的這句
Dim TranId as string="93362993 "
後面多拉個空格
去掉就行。。。
不知高手們還有沒有其它的方法,我的方法比較笨。呵呵。
3000sunqin 2007-11-01
  • 打赏
  • 举报
回复
            
string aaa;
aaa.PadLeft(13, '0');
vrhero 2007-11-01
  • 打赏
  • 举报
回复
Dim instance As String
Dim totalWidth As Integer
Dim paddingChar As Char
Dim returnValue As String

returnValue = instance.PadLeft(totalWidth, paddingChar)

参数
totalWidth
结果字符串中的字符数,等于原始字符数加上任何其他填充字符。

paddingChar
Unicode 填充字符。

返回值
等效于此实例的一个新 String,但它是右对齐的,并在左边用达到 totalWidth 长度所需数目的 paddingChar 字符进行填充。如果 totalWidth 小于此实例的长度,则为与此实例相同的新 String。
SungCen 2007-11-01
  • 打赏
  • 举报
回复
Right(StrDup(13, "0") & 3, 13)
chuxue1342 2007-11-01
  • 打赏
  • 举报
回复
强!
nopingno 2007-11-01
  • 打赏
  • 举报
回复

Dim TranId as string="93362993 "
TranID = Strings.Right("0000000000000" & TranID , 13)
hzybc 2007-11-01
  • 打赏
  • 举报
回复
Dim xC As String = "3"
xC = RSet(xC, 13)
xC = Replace(xC, " ", "0")
Label2.Text = xC
sighgirl 2007-11-01
  • 打赏
  • 举报
回复

string str = "24012";
string Lenstr = "0000000000000";
Response.Write((Lenstr + str).Substring(str.Length,Lenstr.Length));
水如烟 2007-11-01
  • 打赏
  • 举报
回复
简单的其实是两种方法:

注:i.ToString("00000000000")其实这样就可以了

Dim i As Integer = 2

Console.WriteLine(i.ToString.PadLeft(13, "0"c))
Console.WriteLine(i.ToString("D13"))

输出:
0000000000002
0000000000002

16,557

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧