THIENVI1503
Thành viên mới
- Tham gia
- 8/11/07
- Bài viết
- 25
- Được thích
- 1
Mình có code số thành chư này rất phù hợp với công việc nhưng dùng theo kiẻu gõ TCVN nên ko đọc các font thông dùng được.
Nhờ các AE diễn đàn giúp mình chỉnh sang kiểu kết quả là unicode. (Vì Code số ra chữ này có phần lẻ là xu nên rất hay dùng đến)
Code như sau:
-------------------------------------------------------
Funtion sorachu_tcvn (byval numcurrency as currency) as string
If numcurrency = 0 then
Sorachu_tcvn=”không đúng”
Exit function
Endif
‘số lớn nhất của loại currency
If numcurrency>922337203685477# then
Sorachu_tcvn= “Không đổi được số lớn hơn 922.337.203.685.477”
Exit function
Endif
‘------------------------------------------------------------------------------------
Static charvnd(9) as string, bangchu as string, I as integer
Dim sole, sodoi as integer, phanchan, ten as string
Charvnd(1)=”một
Charvnd(2)=”hai”
Charvnd(3)=”ba”
Charvnd(4)=”bốn”
Charvnd(5)=”năm”
Charvnd(6)=”sáu”
Charvnd(7)=”bảy”
Charvnd(8)=”tám”
Charvnd(9)=”chín”
‘------------------------------------------------------------------------------------
Sole=int((numcurrency-int(numcurrency))*100)
I=1
Phanchan=trim$(str$(int(numcurrency)))
While Len(phanchan)>0
Select case I
Case 1 ‘đồng
Dong=val(right$(phanchan,3))
Phanchan=left$(phanchan, len(phanchan)-len(trim$(str$(dong))))
Case 2 ‘nghìn
Ngan=val(right$(phanchan,3))
Phanchan=left$(phanchan, len(phanchan)-len(trim$(str$(ngan))))
Case 3 ‘triệu
Triệu=val(right$(phanchan,3))
Phanchan=left$(phanchan, len(phanchan)-len(trim$(str$(trieu))))
Case 4 ‘tỷ
Ty=val(right$(phanchan,3))
Phanchan=left$(phanchan, len(phanchan)-len(trim$(str$(ty))))
Case 5 ‘nghìn tỷ
Nganty=val(right$(phanchan,3))
Phanchan=left$(phanchan, len(phanchan)-len(trim$(str$(nganty))))
End select
I=i+1
Wend
If nganty=0 and ty=0 and trieu=0 and ngan=0 and dong=0 then
Bangchu=”Không đúng”
I=5
Else
Bangchu=””
I=0
Endif
While i<=5 ‘bắt đầu đổi
Select case i
Case 0
Sodoi=nganty
Ten=”nghìn tỷ”
Case 1
Sodoi=ty
Ten=”tỷ”
Case 2
Sodoi=trieu
Ten=”triệu”
Case 3
Sodoi=ngan
Ten=”nghìn”
Case 4
Sodoi=dong
Ten=”đồng”
Case 5
Sodoi=sole
Ten=”xu”
End select
If sodoi<>0 then
Tram=int(sodoi/100)
Muoi=int((sodoi-tram*100)/10)
Donvi=(sodoi-tram*100)-muoi*10
Bangchu=bangchu+iif(tram<>0, charvnd(tram)+” trăm ”,””)
If muoi=0 and tram <>0 and donvi<>0 then
Bangchu=bangchu+” lẻ “
Else
If muoi<>0 then
Bangchu=bangchu+iif(muoi<>0 and muoi<>1, charvnd(muoi)+” mươi “, “ mười “)
End if
End if
If muoi<>0 and donvi=5 then
Bangchu=bangchu+”năm ”+ten+” “
Else
If muoi <>0 and muoi <>1 and donvi=1 then
Bangchu=bangchu+”một “ +ten+” “
Else
Bangchu=bangchu+iif(donvi<>0,charvnd(donvi)+” “+ten+””+ten+” “)
End if
End if
Else
Bangchu=bangchu+iif(i=4,”đồng “,””)
End if
I=i+1
Wend
If sole=0 then
Bangchu=bangchu+”chẵn”
End if
Mid$(bangchu,1,1)=ucase$(mid$(bangchu,1,1))
Sorachu_tcvn=bangchu
End function
Nhờ các AE diễn đàn giúp mình chỉnh sang kiểu kết quả là unicode. (Vì Code số ra chữ này có phần lẻ là xu nên rất hay dùng đến)
Code như sau:
-------------------------------------------------------
Funtion sorachu_tcvn (byval numcurrency as currency) as string
If numcurrency = 0 then
Sorachu_tcvn=”không đúng”
Exit function
Endif
‘số lớn nhất của loại currency
If numcurrency>922337203685477# then
Sorachu_tcvn= “Không đổi được số lớn hơn 922.337.203.685.477”
Exit function
Endif
‘------------------------------------------------------------------------------------
Static charvnd(9) as string, bangchu as string, I as integer
Dim sole, sodoi as integer, phanchan, ten as string
Charvnd(1)=”một
Charvnd(2)=”hai”
Charvnd(3)=”ba”
Charvnd(4)=”bốn”
Charvnd(5)=”năm”
Charvnd(6)=”sáu”
Charvnd(7)=”bảy”
Charvnd(8)=”tám”
Charvnd(9)=”chín”
‘------------------------------------------------------------------------------------
Sole=int((numcurrency-int(numcurrency))*100)
I=1
Phanchan=trim$(str$(int(numcurrency)))
While Len(phanchan)>0
Select case I
Case 1 ‘đồng
Dong=val(right$(phanchan,3))
Phanchan=left$(phanchan, len(phanchan)-len(trim$(str$(dong))))
Case 2 ‘nghìn
Ngan=val(right$(phanchan,3))
Phanchan=left$(phanchan, len(phanchan)-len(trim$(str$(ngan))))
Case 3 ‘triệu
Triệu=val(right$(phanchan,3))
Phanchan=left$(phanchan, len(phanchan)-len(trim$(str$(trieu))))
Case 4 ‘tỷ
Ty=val(right$(phanchan,3))
Phanchan=left$(phanchan, len(phanchan)-len(trim$(str$(ty))))
Case 5 ‘nghìn tỷ
Nganty=val(right$(phanchan,3))
Phanchan=left$(phanchan, len(phanchan)-len(trim$(str$(nganty))))
End select
I=i+1
Wend
If nganty=0 and ty=0 and trieu=0 and ngan=0 and dong=0 then
Bangchu=”Không đúng”
I=5
Else
Bangchu=””
I=0
Endif
While i<=5 ‘bắt đầu đổi
Select case i
Case 0
Sodoi=nganty
Ten=”nghìn tỷ”
Case 1
Sodoi=ty
Ten=”tỷ”
Case 2
Sodoi=trieu
Ten=”triệu”
Case 3
Sodoi=ngan
Ten=”nghìn”
Case 4
Sodoi=dong
Ten=”đồng”
Case 5
Sodoi=sole
Ten=”xu”
End select
If sodoi<>0 then
Tram=int(sodoi/100)
Muoi=int((sodoi-tram*100)/10)
Donvi=(sodoi-tram*100)-muoi*10
Bangchu=bangchu+iif(tram<>0, charvnd(tram)+” trăm ”,””)
If muoi=0 and tram <>0 and donvi<>0 then
Bangchu=bangchu+” lẻ “
Else
If muoi<>0 then
Bangchu=bangchu+iif(muoi<>0 and muoi<>1, charvnd(muoi)+” mươi “, “ mười “)
End if
End if
If muoi<>0 and donvi=5 then
Bangchu=bangchu+”năm ”+ten+” “
Else
If muoi <>0 and muoi <>1 and donvi=1 then
Bangchu=bangchu+”một “ +ten+” “
Else
Bangchu=bangchu+iif(donvi<>0,charvnd(donvi)+” “+ten+””+ten+” “)
End if
End if
Else
Bangchu=bangchu+iif(i=4,”đồng “,””)
End if
I=i+1
Wend
If sole=0 then
Bangchu=bangchu+”chẵn”
End if
Mid$(bangchu,1,1)=ucase$(mid$(bangchu,1,1))
Sorachu_tcvn=bangchu
End function