关于数字转换成字符的问题

sonicgamer 2003-12-05 11:34:59
我想把一个随机产生的小于100的整数转换成2个字符,比如59转成“59”,但我还希望当数字小于10时会在前面加“0”,比如8转成“08”。
如果用IF来判断的话太麻烦,有没有最简单高效的方法?
谢谢.
...全文
65 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
simanh 2003-12-06
  • 打赏
  • 举报
回复
用if麻烦吗?i don't think so
maculasoft 2003-12-06
  • 打赏
  • 举报
回复
public funtion funNum( num as interger) as string
if len(num)=1 then
funNum="0"+num
end if
end funtion
maculasoft 2003-12-06
  • 打赏
  • 举报
回复
public funtion num( num as interger)
if len(num)=1 then
num="0"+num
end if
end funtion
northwolves 2003-12-05
  • 打赏
  • 举报
回复
Right("0" & int(100*rnd), 2)
EastBuBai 2003-12-05
  • 打赏
  • 举报
回复
用format函数应该没问题吧
ahbbnimor 2003-12-05
  • 打赏
  • 举报
回复
format
SoHo_Andy 2003-12-05
  • 打赏
  • 举报
回复
使用循环语句的话就不用那么多变量,重复使用即可
具体要看你的要求了,你表达的不是很明确
sonicgamer 2003-12-05
  • 打赏
  • 举报
回复
SoHo_Andy的方法很好啊。我回去试试。谢谢。
sonicgamer 2003-12-05
  • 打赏
  • 举报
回复
因为我想把很多转换后的字符加起来,我希望可以写成这样:
结果=表达式1 & 表达式2 & 表达式3 & 表达式4 & 表达式5
如果用IF的话,不是要用到好多的变量?
SoHo_Andy 2003-12-05
  • 打赏
  • 举报
回复
Private Sub Command2_Click()
Dim num As Integer
num = Int(Rnd() * 10 + 1)
MsgBox Format(CStr(num), "00")
End Sub
pcwak 2003-12-05
  • 打赏
  • 举报
回复
if len(num)=1 then
num='0' & num
end if
DemonXHunter 2003-12-05
  • 打赏
  • 举报
回复
Right("0" & (Rnd() * 100 \ 1), 2)
doudou8090 2003-12-05
  • 打赏
  • 举报
回复
format函数
sonicgamer 2003-12-05
  • 打赏
  • 举报
回复
我试了,用Format 是最好的。
lnhsgj 2003-12-05
  • 打赏
  • 举报
回复
Private Sub Command1_Click()
For a = 0 To 20
b = b & " " & Format(CStr(Int(Rnd() * 99 + 1)), "00")
Next a
MsgBox b
End Sub
lgs666 2003-12-05
  • 打赏
  • 举报
回复
这样可以:
Format(Int(Rnd() * 100), "00")
fengyetianshi 2003-12-05
  • 打赏
  • 举报
回复
把小于100的数,大于10的数转换为16进制的数,使用一个涵数。
如果小于10的数,可以这样写:
if len(num)=1 then
num="0"+num
end if
northwolves 2003-12-05
  • 打赏
  • 举报
回复
v1 =iif(num>9,CStr(num),"0"&CStr(num))
qybao 2003-12-05
  • 打赏
  • 举报
回复
楼上的Format(CStr(num), "00")就不错啊
不知道vb里有没有3目运算
如果有的话可以这样,像c或java等等一样
v1 = num>9?CStr(num):"0"&CStr(num)
bluesky35 2003-12-05
  • 打赏
  • 举报
回复
Private Sub Command1_Click()
Dim num As Integer
num = Int(Rnd() * 10 + 1)
MsgBox Format(CStr(num), "00")
End Sub

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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