| |
Option Compare Database
Public Function Doi3so(num As Integer) As String
‘ Hàm đổi một số không có quá 3 chữ số (từ 0 -999)
Dim i As Byte, k As Byte, snum As String, kq As String
snum = Trim(Str(num))
i = Len(snum)
kq = ""
For k = 1 To i
kq = Doi1so(Mid(snum, i + 1 - k, 1))
Select Case k
Case 1: Doi3so = kq
Case 2: Doi3so = kq & "mươi " & Doi3so
Case 3: Doi3so = kq & "trăm " & Doi3so
End Select
Next
Doi3so = Replace(Doi3so, "mươi năm", "mươi lăm")
Doi3so = Replace(Doi3so, "một mươi", "mười")
Doi3so = Replace(Doi3so, "không mươi", "lẻ")
Doi3so = Replace(Doi3so, "mười không", "mười")
Doi3so = Replace(Doi3so, "mươi không", "mươi")
Doi3so = Replace(Doi3so, "lẻ không", "")
Doi3so = Replace(Doi3so, "mươi một", "mươi mốt")
Doi3so = Replace(Doi3so, "lẻ lăm", "lẻ năm")
Doi3so = Trim(Doi3so) & " "
End Function
Public Function Doi1so(motso As String) As String
‘ Hàm đổi một số có 1 chữ số (0 - 9)
Dim Smotso As Byte
Smotso = Val(motso)
Select Case Smotso
Case 1: Doi1so = "một "
Case 2: Doi1so = "hai "
Case 3: Doi1so = "ba "
Case 4: Doi1so = "bốn "
Case 5: Doi1so = "năm "
Case 6: Doi1so = "sáu "
Case 7: Doi1so = "bảy "
Case 8: Doi1so = "tám "
Case 9: Doi1so = "chín "
Case 0: Doi1so = "không "
End Select
End Function
Public Function NumToText(so As Double) As String
‘ Hàm đổi một số từ 0 – 999.999.999.999
Dim num As Double, sonhom As Byte, chuoi As String, dai As
Byte, j As Byte, Chuoicon As String, kq As String, SoDu As
Byte
num = Int(so)
chuoi = Trim(Str(num))
dai = Len(chuoi)
sonhom = dai \ 3
SoDu = dai Mod 3
If (SoDu) <> 0 Then
sonhom = sonhom + 1
End If
For j = 1 To sonhom
kq = ""
If j < sonhom Then
Chuoicon = Mid(chuoi, dai - j * 3 + 1, 3)
Else
Chuoicon = Left(chuoi, IIf(SoDu = 0, 3, SoDu))
End If
kq = Doi3so(Val(Chuoicon))
Select Case j
Case 1: NumToText = kq
Case 2:
If kq <> "không " Then
NumToText = kq & "ngàn " & NumToText
End If
Case 3:
If kq <> "không" Then
NumToText = kq & " triệu " & NumToText
End If
Case 4:
If kq <> "không " Then
NumToText = kq & " tỷ " & NumToText
End If
End Select
Next
NumToText = Replace(NumToText, " ", " ")
NumToText = Replace(NumToText, " ", " ")
If Right(NumToText, 6) = "không " Then
NumToText = Left(NumToText, Len(NumToText) - 6)
End If
End Function
|