我的VB 环境 出现问题,下面vb代码大全,求助!!

求助:用VB的funtion做一个程序 悬赏财富20!我只有这么多!急啊!_百度知道
求助:用VB的funtion做一个程序 悬赏财富20!我只有这么多!急啊!
写一个程序,能将数字的1,25,658,2534563转变成英文的单词one, twenty five, six hundred and fifty eight求具体的code,谢谢谢谢谢谢!!!!
谢谢阿!!可是你们说的那个看起来有一点点复杂,我是初学者,才学了一个月,老师就让做这种程序。。。我这里写了一些code了,可是好像有点问题,大家能不能帮我改一改
提问者采纳
其实要做好这个问题还是有点难度的!我现时给你写了一个,只能转 9位数的你可以改一下代码,把它改成任意位数的就行了。另外在连接的时候,我只有百使用了 “AND”,其他都是直接读希望能帮到你了。以下代码可以直接复制到 VB工程环境下运行。你需要添加两个textbox控件,名字是:text1,text2Dim dg1(20) As String
'个位Dim dg2(10) As String
'十位Dim BAI As StringDim QIAN As StringDim WAN As StringPrivate Sub InitDG()dg1(0) = &&dg1(1) = &One&dg1(2) = &Two&dg1(3) = &Three&dg1(4) = &Four&dg1(5) = &Five&dg1(6) = &Six&dg1(7) = &Seven&dg1(8) = &Eight&dg1(9) = &Nine&dg1(10) = &Ten&dg1(11) = &Eleven&dg1(12) = &Twelve&dg1(13) = &Thirteen&dg1(14) = &Fourteen&dg1(15) = &Fifteen&dg1(16) = &Sixteen&dg1(17) = &Seventeen&dg1(18) = &Eightteen&dg1(19) = &Nineteen&dg2(0) = &&dg2(1) = &&dg2(2) = &Twenty&dg2(3) = &Thirty&dg2(4) = &Forty&dg2(5) = &Fifty&dg2(6) = &Sixty&dg2(7) = &Seventy&dg2(8) = &Eighty&dg2(9) = &Ninety&BAI = & Hundred &QIAN = & Thousand &WAN = & Millon &End SubPrivate Function Translate(ByVal mVal As Long) As StringDim mLen As LongDim mStr As StringDim s() As StringDim T As LongDim S2 As StringDim conS As StringmStr = CStr(mVal)mLen = Len(mStr)If mLen = 0 Then Exit FunctionReDim s(mLen)For T = 1 To mLen
s(T - 1) = Mid(mStr, T, 1)NextSelect Case mLen
Translate = dg1(mVal)
Translate = GetStr2(mStr)
S2 = GetStr2(Mid(mStr, 2))
If S2 = && Then
conS = &And &
Translate = dg1(s(0)) & BAI & conS & GetStr2(Mid(mStr, 2))
conS = dg1(s(0)) & QIAN
If dg1(s(1)) = && Then
conS = conS & dg1(s(1)) & BAI
S2 = GetStr2(Mid(mStr, mLen - 1))
If S2 = && Then
conS = conS & &And &
Translate = conS & S2
conS = GetStr2(Mid(mStr, 1, 2))
conS = conS & QIAN
If dg1(s(2)) = && Then
conS = conS & dg1(s(2)) & BAI
S2 = GetStr2(Mid(mStr, mLen - 1))
If S2 = && Then
conS = conS & &And &
Translate = conS & S2
conS = dg1(s(0)) & BAI
S2 = GetStr2(s(1) & s(2))
conS = conS & S2 & QIAN
If dg1(s(3)) = && Then
conS = conS & dg1(s(3)) & BAI
S2 = GetStr2(Mid(mStr, mLen - 1))
If S2 = && Then
conS = conS & &And &
Translate = conS & S2
conS = dg1(s(0)) & WAN
If dg1(s(1)) = && Then
conS = conS & dg1(s(1)) & BAI
S2 = GetStr2(s(2) & s(3))
conS = conS & S2 & QIAN
If dg1(s(4)) = && Then
conS = conS & dg1(s(4)) & BAI
S2 = GetStr2(Mid(mStr, mLen - 1))
If S2 = && Then
conS = conS & &And &
Translate = conS & S2
conS = GetStr2(Mid(mStr, 1, 2))
conS = conS & WANIf dg1(s(2)) = && Then
conS = conS & dg1(s(2)) & BAI
S2 = GetStr2(s(3) & s(4))
conS = conS & S2 & QIAN
If dg1(s(5)) = && Then
conS = conS & dg1(s(5)) & BAI
S2 = GetStr2(Mid(mStr, mLen - 1))
If S2 = && Then
conS = conS & &And &
Translate = conS & S2Case 9
conS = dg1(s(0)) & BAI
S2 = GetStr2(s(1) & s(2))
If S2 = && Then
conS = conS & S2
conS = conS & WAN
If dg1(s(3)) = && Then
conS = conS & dg1(s(3)) & BAI
S2 = GetStr2(s(4) & s(5))
conS = conS & S2 & QIAN
If dg1(s(6)) = && Then
conS = conS & dg1(s(6)) & BAI
S2 = GetStr2(Mid(mStr, mLen - 1))
If S2 = && Then
conS = conS & &And &
Translate = conS & S2End SelectEnd FunctionPrivate Function GetStr2(ByVal mStr As String) As String'获取两位数的Dim s1 As LongDim S2 As LongDim s As String'20以内的直接取If Val(mStr) &= 0 And Val(mStr) & 20 Then
GetStr2 = dg1(Val(mStr))Else
'20以上的进行处理
s1 = Left(mStr, 1)
S2 = Right(mStr, 1)
GetStr2 = dg2(s1) & & & & dg1(S2)End IfEnd FunctionPrivate Sub Form_Load()InitDGEnd SubPrivate Sub Text1_Change()Dim mVal As DoubleIf Trim(Text1.Text) = && Then Exit SubmVal = Val(Text1.Text)Text2.Text = Translate(mVal)End Sub
其他类似问题
其他1条回答
Private Sub Form_Load()
Debug.Print num2EngStr(&1&) & Chr(13)
Debug.Print num2EngStr(&21&) & Chr(13)
Debug.Print num2EngStr(&321&) & Chr(13)
Debug.Print num2EngStr(&4321&) & Chr(13)
Debug.Print num2EngStr(&54321&) & Chr(13)
Debug.Print num2EngStr(&654321&) & Chr(13)
Debug.Print num2EngStr(&7654321&) & Chr(13)
Debug.Print num2EngStr(&&) & Chr(13)
Debug.Print num2EngStr(&&) & Chr(13)
Debug.Print num2EngStr(&&) & Chr(13)
Debug.Print num2EngStr(&&) & Chr(13)
Debug.Print num2EngStr(&1&) & Chr(13)
Debug.Print num2EngStr(&21&) & Chr(13)
Debug.Print num2EngStr(&321&) & Chr(13)
Debug.Print num2EngStr(&4321&) & Chr(13)
Debug.Print num2EngStr(&54321&) & Chr(13)
Debug.Print num2EngStr(&654321&) & Chr(13)End Sub'以下只适用于正整数Private Function num2EngStr(ByVal strNum As String) As String
Dim aNum As String, bNum As String, cNum As String, dNum As String, fNum As String
Dim aNums() As String, bNums()
As String, cNums()
As String, dNums()
As String, fNums()
aNum = &0,1,2,3,4,5,6,7,8,9&
bNum = &zero,one,two,three,four,five,six,seven,eight,nine& '个位
cNum = &ten,eleven,twelve,thirteen,fourteen,fifteen,sixteen,seventeen,eighteen,nineteen,& '十几
dNum = &twenty,thirty,fourty,fifty,sixty,seventy,eighty,ninety&
fNum = &,,hundred,thousand,,,million,,,billion,,,trillion,,,,,,,,,,,,,,& '2--十 3--百 4--千 7--百万 10--10十亿 13--万亿
aNums = Split(aNum, &,&, , vbTextCompare)
bNums = Split(bNum, &,&, , vbTextCompare)
cNums = Split(cNum, &,&, , vbTextCompare)
dNums = Split(dNum, &,&, , vbTextCompare)
fNums = Split(fNum, &,&, , vbTextCompare)
Dim lenNum As Integer, i As Integer, strC As String, index As Integer, isTenbit As Boolean
Dim strs As String, strAll As String, strCut As String
lenNum = Len(strNum)
' If lenNum & 16 Then MsgBox &超出范围&
For i = lenNum To 1 Step -1
index = Int(Mid(strNum, lenNum - i + 1, 1))
strC = aNums(index)
Select Case i
strs = & & & IIf(isTenbit, cNums(index), bNums(index))
If Int(strC) & 1 Then
strs = dNums(index - 2)
ElseIf Int(strC) = 1 Then
isTenbit = True
If fNums(i - 1) = && Then
strCut = strCut & strC
If strCut && && Then
strCut = num2EngStr(strCut & strC)
strs = strCut & & & & fNums(i - 1) & IIf(fNums(i - 1) = &hundred&, & and &, & &) '只有百位与十位相连才要and
strCut = &&
strs = bNums(index) & & & & fNums(i - 1) & IIf(fNums(i - 1) = &hundred&, & and &, & &) '只有百位与十位相连才要and
End Select
strAll = strAll & strs
num2EngStr = strAllEnd Function输出结果:onetwenty onethree hundred and twenty onefour thousand three hundred and twenty onefifty four thousand three hundred and twenty onesix hundred and fifty four thousand three hundred and twenty oneseven million six hundred and fifty four thousand three hundred and twenty oneeighty seven million six hundred and fifty four thousand three hundred and twenty onenine hundred and eighty seven million six hundred and fifty four thousand three hundred and twenty one ten billion nine hundred and eighty seven million six hundred and fifty four thousand three hundred and twenty onetwo hundred and
ten billion nine hundred and eighty seven million six hundred and fifty four thousand three hundred and twenty onethree trillion two hundred and
ten billion nine hundred and eighty seven million six hundred and fifty four thousand three hundred and twenty onefourty three trillion two hundred and
ten billion nine hundred and eighty seven million six hundred and fifty four thousand three hundred and twenty onefive hundred and fourty three trillion two hundred and
ten billion nine hundred and eighty seven million six hundred and fifty four thousand three hundred and twenty onesix thousand five hundred and fourty three trillion two hundred and
ten billion nine hundred and eighty seven million six hundred and fifty four thousand three hundred and twenty oneseventy six thousand five hundred and fourty three trillion two hundred and
ten billion nine hundred and eighty seven million six hundred and fifty four thousand three hundred and twenty oneeight hundred and seventy six thousand five hundred and fourty three trillion two hundred and
ten billion nine hundred and eighty seven million six hundred and fifty four thousand three hundred and twenty one
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁VB 6.0 的编程环境_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
4页免费19页免费10页免费8页免费2页免费 7页1下载券57页1下载券62页1下载券37页1下载券99页4下载券
喜欢此文档的还喜欢26页1下载券88页1下载券67页1下载券65页1下载券39页1下载券
VB 6.0 的编程环境|V​B​ . ​的​编​程​环​境
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢求在vb.net2005环境中将excel表格导入到sql server数据库的代码
[问题点数:40分,结帖人gene_huang]
求在vb.net2005环境中将excel表格导入到sql server数据库的代码
[问题点数:40分,结帖人gene_huang]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
相关帖子推荐:
本帖子已过去太久远了,不再提供回复功能。求助!如何能够用代码来实现VB报表的分组打印功能,就是说不用数据环境来分组打印,帮我解决了再加500分
[问题点数:100分,结帖人xixixi9988]
求助!如何能够用代码来实现VB报表的分组打印功能,就是说不用数据环境来分组打印,帮我解决了再加500分
[问题点数:100分,结帖人xixixi9988]
只显示楼主
取消只显示楼主
相关帖子推荐:
本帖子已过去太久远了,不再提供回复功能。}

我要回帖

更多关于 vb退出程序代码 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信