Qua file đính kèm các Bạn đã làm được nhiều rồi đó, Mình đã test qua:
Mình thấy có thể sửa chữ "ngàn" thành chữ "nghìn" như vậy sẽ phù hợp với người ngoài băc.
Rất mong các Bạn cố gắng sửa nhé.
Qua đây xin cảm ơn Anh Lai nhiều!
"Giúp một người bằng mười điều thiện"
Các Bạn có thể tham khảo đoạn mã này nó đang bị lỗi ở số 9.
Function Demtien(ByVal s As String) As String
Dim So
Dim hang
So = Array("kh«ng", "mét", "hai", "ba", "bèn", "n¨m", "s¸u", "b¶y", "t¸m", "chY'n")
hang = Array(" ", "ngh×n", "triÖu", "tû")
Dim i, j, DonVi, chuc, Tram As Integer
Dim str As String
str = " "
i = Len(s)
If i = 0 Then
str = So(0) & str
Else
j = 0
Do While i > 0
DonVi = Int(Mid(s, i, 1))
i = i - 1
If i > 0 Then
chuc = Int(Mid(s, i, 1))
Else
chuc = -1
End If
i = i - 1
If i > 0 Then
Tram = Int(Mid(s, i, 1))
Else
Tram = -1
End If
i = i - 1
If DonVi > 0 Or chuc > 0 Or Tram > 0 Or j = 3 Then
str = hang(j) & " " & str
End If
j = j + 1
If j > 3 Then
j = 1
End If
If DonVi = 1 And chuc > 1 Then
str = So(chuc) & " mèt" & " " & str
Else
If DonVi = 5 And chuc > 0 Then
str = "l¨m" & " " & str
ElseIf DonVi > 0 Then
str = So(DonVi) & " " & str
End If
If chuc < 0 Then
Exit Do
Else
If chuc = 0 And DonVi > 0 Then
str = "lÎ" & " " & str
ElseIf chuc = 1 Then str = "mêi" & " " & str
ElseIf chuc > 1 Then str = So(chuc) & " " & "m¬i" & " " & str
End If
End If
End If
If Tram < 0 Then
Exit Do
Else
If Tram > 0 Or chuc > 0 Or DonVi > 0 Then
str = So(Tram) & " " & "tr¨m" & " " & str
End If
End If
Loop
'§æi kư tù ®Çu chuçi str thµnh ch÷ hoa( ®©y lµ ®o¹n thªm vµo)
Dim g As String
g = UCase(Left(Trim(str), 1))
str = g + Mid(Trim(str), 2)
Demtien = str
'hƠt phÇn ®æi ch÷ thµnh ch÷ hoa
End If
Demtien = str
End Function
Mình đang đọc trong unicode.
Các Bạn nhớ gửi lại cho mình theo email:
gialilamait@gmail.com
Mình xin cảm ơn nhiều.