Cách đọc số ra chữ tiếng Hàn

Liên hệ QC
Anh nói đúng code trên của anh huuthang_bd cũng đã theo qui luật Á đông như anh đã đề cập, mình có thể sử dụng được. Tuy nhiên nếu theo như ý anh code trên thêm vào dấu ngắt câu nữa là hoàn hảo rồi phải không anh huuthang_bd
Không biết bạn muốn ngắt câu như thế nào. Như thế này được không:
PHP:
Function DocSo(Sotien)
Dim St, St1, e, e1, e2, e3, e4, e5, so, tam As String
Dim Dem, Hang, Cap
Dim Sotien1

Sotien1 = Abs(Sotien)
If Sotien1 > 1E+24 Then
DocSo = "##########---S" & ChrW(7889) & " qua l" & ChrW(7899) & "n---##########"
ElseIf Sotien1 = 0 Then
DocSo = "Young"
Else
DocSo = ""
St = Format(Sotien1, "000000000000000000000000")
St1 = Format(Sotien1, "#")
Dem = Array("", "il ", "i ", "sam ", "sa ", "o ", "duk ", "chil ", "phal ", "ku ")
Hang = Array("", "chon ", "bek ", "sib ", "")
Cap = Array("", "", "kyouing, ", "jo, ", "ok, ", "man, ", "")
For i = 1 To 6
e = Mid(St, 1 + (i - 1) * 4, 4)
For j = 1 To 4
so = Mid(e, j, 1)
If j = 4 And Len(St) - Len(St1) < i * 4 Then
    If e <> "0000" Then
    DocSo = DocSo & Dem(so) & Hang(j) & Cap(i)
    Else
    DocSo = DocSo & Dem(so) & Hang(j)
    End If
ElseIf so = 1 And j = 3 Then
DocSo = DocSo & Hang(j)
ElseIf so <> 0 Then
DocSo = DocSo & Dem(so) & Hang(j)
End If
Next
Next
End If
If Sotien < 0 Then
DocSo = "Minus " & DocSo
End If
DocSo = UCase(Left(DocSo, 1)) & Trim(Mid(DocSo, 2)) & "."
DocSo = Replace(DocSo, ",.", ".")
End Function
Hình như kyouing không chạy được anh ơi.
Tôi có khắc phục luôn rồi nha.
 
Lần chỉnh sửa cuối:
Đúng rồi anh ơi, nhưng để cho nó hoàn thiện hơn anh vui lòng thêm khoản trắng ở số đầu:
VD: 52,156,334,540,000,000 đọc là "[FONT=돋움]Okyouing, i chon il bek o sib duk jo, sam chon sam bek sa sib o ok, sa chon man.
nó phải là [FONT=돋움]O _ kyouing, i chon il bek o sib duk jo, sam chon sam bek sa sib o ok, sa chon man.[/FONT][/FONT]
Cám ơn anh
 
Đúng rồi anh ơi, nhưng để cho nó hoàn thiện hơn anh vui lòng thêm khoản trắng ở số đầu:
VD: 52,156,334,540,000,000 đọc là "[FONT=돋움]Okyouing, i chon il bek o sib duk jo, sam chon sam bek sa sib o ok, sa chon man.
nó phải là [FONT=돋움]O _ kyouing, i chon il bek o sib duk jo, sam chon sam bek sa sib o ok, sa chon man.[/FONT][/FONT]
Cám ơn anh
Àh. Tôi cũng không để ý đến trường hợp này. Sửa lại cho bạn đây. Xóa bớt những biến e1, e2, e3, e4, e5, tam không dùng. Từ lúc đầu tới giờ tôi quên.
PHP:
Function DocSo(Sotien)
Dim St, St1, e, so As String
Dim Dem, Hang, Cap
Dim Sotien1

Sotien1 = Abs(Sotien)
If Sotien1 > 1E+24 Then
DocSo = "##########---S" & ChrW(7889) & " qua l" & ChrW(7899) & "n---##########"
ElseIf Sotien1 = 0 Then
DocSo = "Young"
Else
DocSo = ""
St = Format(Sotien1, "000000000000000000000000")
St1 = Format(Sotien1, "#")
Dem = Array("", "il ", "i ", "sam ", "sa ", "o ", "duk ", "chil ", "phal ", "ku ")
Hang = Array("", "chon ", "bek ", "sib ", "")
Cap = Array("", "", "kyouing, ", "jo, ", "ok, ", "man, ", "")
For i = 1 To 6
e = Mid(St, 1 + (i - 1) * 4, 4)
For j = 1 To 4
so = Mid(e, j, 1)
If j = 4 And Len(St) - Len(St1) < i * 4 Then
    If e <> "0000" Then
    DocSo = DocSo & Dem(so) & Hang(j) & Cap(i)
    Else
    DocSo = DocSo & Dem(so) & Hang(j)
    End If
ElseIf so = 1 And j = 3 Then
DocSo = DocSo & Hang(j)
ElseIf so <> 0 Then
DocSo = DocSo & Dem(so) & Hang(j)
End If
Next
Next
End If
If Sotien < 0 Then
DocSo = "Minus " & DocSo
End If
DocSo = Trim(DocSo)
DocSo = UCase(Left(DocSo, 1)) & Mid(DocSo, 2) & "."
DocSo = Replace(DocSo, ",.", ".")
End Function
 
Lần chỉnh sửa cuối:
Sao chỉ có 1 nút cám ơn nhỉ ???
Sau khi "bào chế" lại code đọc tạm dịch lại như File đính kèm
Rất mong được sự góp ý của các anh chị
 

File đính kèm

  • DOC SO TIENG HAN.xls
    34.5 KB · Đọc: 18
Sao chỉ có 1 nút cám ơn nhỉ ???
Sau khi "bào chế" lại code đọc tạm dịch lại như File đính kèm
Rất mong được sự góp ý của các anh chị
Bạn quên chỉnh chữ Young về Font chữ tiếng Hàn. Còn lại, không có Font chữ nên thấy "ÀÌ½Ê »ç¾ï, ÀÏõ ÀÌ¹é ¿À½Ê »ç¸¸, ÀÏõ ¿À¹é ÀÌ½Ê »ç." không àh :-=
 
Bạn quên chỉnh chữ Young về Font chữ tiếng Hàn. Còn lại, không có Font chữ nên thấy "ÀÌ½Ê »ç¾ï, ÀÏõ ÀÌ¹é ¿À½Ê »ç¸¸, ÀÏõ ¿À¹é ÀÌ½Ê »ç." không àh :-=
Em đã chỉnh lại rồi mời các anh chị tham khảo nhé:
Mã:
Function DocSo(Sotien)
Dim St, St1, e, so As String
Dim Dem, Hang, Cap
Dim Sotien1
Sotien1 = Abs(Sotien)
If Sotien1 > 1E+24 Then
DocSo = "##########---S" & ChrW(7889) & " qua l" & ChrW(7899) & "n---##########"
ElseIf Sotien1 = 0 Then
DocSo = "영"
Else
DocSo = ""
St = Format(Sotien1, "000000000000000000000000")
St1 = Format(Sotien1, "#")
Dem = Array("", "일 ", "이", "삼", "사", "오", "욕", "칠", "팔 ", "구")
Hang = Array("", "천 ", "백 ", "십 ", "")
Cap = Array("", "", "경, ", "조, ", "억, ", "만, ", "")
For i = 1 To 6
e = Mid(St, 1 + (i - 1) * 4, 4)
For j = 1 To 4
so = Mid(e, j, 1)
If j = 4 And Len(St) - Len(St1) < i * 4 Then
    If e <> "0000" Then
    DocSo = DocSo & Dem(so) & Hang(j) & Cap(i)
    Else
    DocSo = DocSo & Dem(so) & Hang(j)
    End If
ElseIf so = 1 And j = 3 Then
DocSo = DocSo & Hang(j)
ElseIf so <> 0 Then
DocSo = DocSo & Dem(so) & Hang(j)
End If
Next
Next
End If
If Sotien < 0 Then
DocSo = "마 이 너 스 " & DocSo
End If
DocSo = Trim(DocSo)
DocSo = UCase(Left(DocSo, 1)) & Mid(DocSo, 2) & "."
DocSo = Replace(DocSo, ",.", ".")
End Function
 

File đính kèm

  • DOC SO TIENG HAN.xls
    35.5 KB · Đọc: 42
Số âm đọc như thế nào nhỉ ? hỏi mấy đứa trên mạng nó bảo thêm chữ "âm" (=tiếng hàn) ở đầu câu giống tiếng việc không biết có đúng không nữa
 
Số âm đọc như thế nào nhỉ ? hỏi mấy đứa trên mạng nó bảo thêm chữ "âm" (=tiếng hàn) ở đầu câu giống tiếng việc không biết có đúng không nữa
Có nói ở bài sau rồi nè bạn.
http://www.giaiphapexcel.com/forum/showthread.php?22509-Cách-đọc-số-ra-chữ-tiếng-Hàn&p=156481#post156481

Code trên cũng có nói.

If Sotien < 0 Then
DocSo = "마 이 너 스 " & DocSo
End If
 
Lần chỉnh sửa cuối:
Web KT
Back
Top Bottom