Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Hàm đọc số thành chữ UNICODE
#1
Chào Các Anh Chị
Trong diễn đàn mình thấy hướng dẫn nhiều sử dụng hàm chuyển số thành chữ
nhưng mình chưa thấy hướng dẫn chuyển số thành chữ theo font Uni mà có số lẻ
Vd: 20,2 : hai mươi phẩy hai
Rât mong được sự hướng dẫn thêm của các anh chị.
Chữ ký của chatchut Xin chào, mình là chatchut, Tham gia http://thuthuataccess.com/forum từ ngày 15-03 -12.
Reply
Những người đã cảm ơn
#2
Ở chỗ bạn vẫn còn dùng tiền lẻ ah?
Sao bạn không chịu tìm kiếm vậy? Đã nhắc nhở rồi mà
Lần sau nếu cứ như thế này, e rằng bài bị xóa mất
Thân mến
Chữ ký của Xuân Thanh Trăm năm trước thì ta chưa gặp
Trăm năm sau biết gặp được không?
Cuộc đời sắc sắc không không
Thì thôi ta cứ hết lòng vì nhau
ღღღღღTài sản của Xuân Thanh (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#3
Chắc bạn chatchut kinh doanh nhập hàng TQ rồi ! 014
ღღღღღTài sản của hugox03 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#4
Xin chào Xuân Thanh, hugox03
Các Anh chị nên xem kỹ nội dung em hỏi nhé
Em chỉ tham khảo thêm là đọc số thành chữ thôi mà, đâu có liên quan đến tiền gì ở dây
vd: diện tích là 20,2: hai mươi phẩy hai
Rất mong các anh chị hướng dẫn em với !!!
Chữ ký của chatchut Xin chào, mình là chatchut, Tham gia http://thuthuataccess.com/forum từ ngày 15-03 -12.
Reply
Những người đã cảm ơn
#5
Dùng tạm cái này nhé, nó lấy sau dấu phẩy 2 con số (Tôi sửa bài của một bạn trên forum)
Ví dụ : 20,2 ===> Hai mươi phẩy hai mươi
1234,33 ====> Một ngàn hai trăm ba mươi bốn phẩy ba mươi ba

Mã PHP:
Function DocSoRaChuUNI(BaoNhieu)
    
On Error GoTo Thongbaoloi
    Dim KetQua
SoTienNhomChuDichS1S2S3 As String
    Dim i
JViTri As ByteAs Double
    Dim Hang
DocDem
    
If baonhieu 0 Then
        KetQua 
"Kh" ChrW$(244) & "ng "
    
Else
        If 
Abs(baonhieu) >= 1E+15 Then
            KetQua 
"S" ChrW$(7889) & " qu" ChrW$(225) & " l" ChrW$(7899) & "n"
        
Else
            If 
baonhieu 0 Then
                KetQua 
ChrW$(194) & "m" Space(1)
            Else
                
KetQua Space(0)
            
End If
            
SoTien Format(Abs(baonhieu), "##############0.00")
            
SoTien Right(Space(15) & SoTien18)
            
Hang = Array("None""tr" ChrW$(259) & "m""m" ChrW$(432) & ChrW$(417) & "i""g" ChrW$(236) & " " ChrW$(273) & "ã")
            
Doc = Array("None""ng" ChrW$(224) & "n t" ChrW$(272), "t" ChrW$(7927), "tri" ChrW$(7879) & "u""ng" ChrW$(224) & "n""ph" ChrW$(7849) & "y"""' ChrW$(273) & ChrW$(7891) & "ng", "")
            Dem = Array("None", "m" & ChrW$(7897) & "t", "hai", "ba", "b" & ChrW$(7889) & "n", "n" & ChrW$(259) & "m", "s" & ChrW$(225) & "u", "b" & ChrW$(7843) & "y", "t" & ChrW$(225) & "m", "ch" & ChrW$(237) & "n")
            For i = 1 To 6
                Nhom = Mid(SoTien, i * 3 - 2, 3)
                If Nhom <> Space(3) Then
                    Select Case Nhom
                        Case "000"
                            If i = 5 Then
                                Chu = "ph" & ChrW$(7849) & "y" & Space(1)
                            Else
                                Chu = Space(0)
                            End If
                        Case ".00"
                            Chu = "ch" & ChrW$(7861) & "n"
                        Case Else
                            S1 = Left(Nhom, 1)
                            S2 = Mid(Nhom, 2, 1)
                            S3 = Right(Nhom, 1)
                            Chu = Space(0)
                            Hang(3) = Doc(i)
                            For J = 1 To 3
                                Dich = Space(0)
                                S = Val(Mid(Nhom, J, 1))
                                If S > 0 Then
                                    Dich = Dem(S) & Space(1) & Hang(J) & Space(1)
                                End If
                                Select Case J
                                    Case 2 And S = 1
                                        Dich = "m" & ChrW$(432) & ChrW$(7901) & "i" & Space(1)
                                    Case 3 And S = 0 And Nhom <> Space(2) & "0"
                                        Dich = Hang(J) & Space(1)
                                    Case 3 And S = 5 And S2 <> Space(1) And S2 <> "0"
                                        Dich = "l" & Mid(Dich, 2)
                                    Case 2 And S = 0 And S3 <> "0"
                                        If (S1 >= "1" And S1 <= "9") Or (S1 = "0" And i = 4) Then
                                            Dich = "l" & ChrW$(7867) & Space(1)
                                        End If
                                End Select
                                Chu = Chu & Dich
                            Next J
                    End Select
                    ViTri = InStr(1, Chu, "m" & ChrW$(432) & ChrW$(417) & "i m" & ChrW$(7897) & "t", 1)
                    If ViTri > 0 Then Mid(Chu, ViTri, 9) = "m" & ChrW$(432) & ChrW$(417) & "i m" & ChrW$(7889) & "t"
                    KetQua = KetQua & Chu
                End If
            Next i
        End If
    End If
    DocSoRaChuUNI = UCase(Left(KetQua, 1)) & Mid(KetQua, 2)

Thongbaoloi:
    KetQua = "loi cong thuc"
    
End Function 
Chữ ký của Xuân Thanh Trăm năm trước thì ta chưa gặp
Trăm năm sau biết gặp được không?
Cuộc đời sắc sắc không không
Thì thôi ta cứ hết lòng vì nhau
ღღღღღTài sản của Xuân Thanh (View All Items) ღღღღღ
Reply
Những người đã cảm ơn chatchut , danhxetnghiem
#6
Chào Xuân Thanh
code chạy rất tốt nhưng có lỗi nhỏ em không biết chỉnh sao
vd: 20 --> hai mươi phẩy chẵn ??? (đúng phải là: hai mươi)[/u]
Chữ ký của chatchut Xin chào, mình là chatchut, Tham gia http://thuthuataccess.com/forum từ ngày 15-03 -12.
Reply
Những người đã cảm ơn
#7
1/ Biếng nên dùng tạm bài của một bạn trên forum sửa lại nhưng chưa fix lỗi, các bạn thông cảm
2/ Các bạn thay thế hàm trên bằng hàm sau đây nhé

Mã PHP:
Function DocSoRaChuUNI(Number As Double)
    
Dim MyArrayDim i As Integer
    Dim Str 
As String
    
If Number >= 1E+18 Then DocSoRaChuUNI "#NUM!": Exit Function
    
Str Format(Fix(Abs(Number)), "000000000000000000")
    
MyArray = Array("không ""m" ChrW(7897) & "t ""hai ""ba ""b" ChrW(7889) & "n ""n" ChrW(259) & "m ""sáu ""b" ChrW(7843) & "y ""tám ""chín ""tri" ChrW(7879) & "u, ""ngàn, ""t" ChrW(7927) & ", ""tri" ChrW(7879) & "u, ""ngàn, """"tr" ChrW(259) & "m ""m" ChrW(432) & ChrW(417) & "i ""không " "m" ChrW(432) & ChrW(417) & "i" " không ""không " "m" ChrW(432) & ChrW(417) & "i""l" ChrW(7867), "m" ChrW(432) & ChrW(417) & "i" " không""m" ChrW(432) & ChrW(417) & "i""m" ChrW(432) & ChrW(417) & "i" " n" ChrW(259) & "m""m" ChrW(432) & ChrW(417) & "i" " l" ChrW(259) & "m""m" ChrW(7897) & "t " "m" ChrW(432) & ChrW(417) & "i""m" ChrW(432) & ChrW(7901) & "i""m" ChrW(432) & ChrW(417) & "i" " m" ChrW(7897) & "t""m" ChrW(432) & ChrW(417) & "i" " m" ChrW(7889) & "t""Âm ""ph" ChrW$(7849) & "y "" "" ")
    For 
1 To Len(Str)
        If 
Left(Stri) <> And Mid(Str, (Int((2) / 3) - 1) * 13) <> 0 Then
            DocSoRaChuUNI 
DocSoRaChuUNI MyArray(Mid(Stri1)) & MyArray(-(3) * (i Mod 3 0) - (15 i Mod 3) * (i Mod 3 <> 0))
        ElseIf 
And Mid(Str73) = And Left(Str6) <> 0 Then
            DocSoRaChuUNI 
DocSoRaChuUNI MyArray(12)
        
End If
    
Next
    DocSoRaChuUNI 
IIf(Number 0MyArray(0), "") & IIf(Fix(Number) <> 0DocSoRaChuUNI"") & IIf(Fix(Number) <> And Fix(Number) <> NumberMyArray(30), "") & IIf(Fix(Number) <> NumberIIf(Abs(Number Fix(Number)) < 0.1""MyArray(Left(Right(Format(Abs(Number), "#.00"), 2), 1)) & MyArray(17)) & MyArray(Right(Format(Number"#.00"), 1)) & MyArray(32), "")
    
DocSoRaChuUNI Replace(Trim(Replace(Replace(Replace(Replace(Replace(Replace(Replace(DocSoRaChuUNIMyArray(18), MyArray(15)), MyArray(19), MyArray(20)), MyArray(21), MyArray(22)), MyArray(23), MyArray(24)), MyArray(25), MyArray(26)), MyArray(27), MyArray(28)), ", " MyArray(30), " " MyArray(30))), MyArray(30) & MyArray(31), Split(MyArray(30), " ")(0) & " " MyArray(31))
    If 
Number 0 Then DocSoRaChuUNI MyArray(29) & DocSoRaChuUNI
    DocSoRaChuUNI 
UCase(Left(DocSoRaChuUNI1)) & Mid(DocSoRaChuUNI2) & "."
End Function 


Tôi sửa lại từ hàm đọc số tiền thành chữ từ bài viết này của tôi : http://thuthuataccess.com/forum/thread-109-page-2.html (Bài số #14)
Thân mến
Chữ ký của Xuân Thanh Trăm năm trước thì ta chưa gặp
Trăm năm sau biết gặp được không?
Cuộc đời sắc sắc không không
Thì thôi ta cứ hết lòng vì nhau
ღღღღღTài sản của Xuân Thanh (View All Items) ღღღღღ
Reply
Những người đã cảm ơn chatchut


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  [Hỏi] Cho em hỏi access có đóng gói lại thành file chạy trên máy khác để không bị lỗi không ngochieu8109 3 340 14-06-16, 10:42 AM
Bài mới nhất: quyvt1993
  [Help] Lỗi khi chuyển ACCDB thành ACCDE sang máy khác chạy không được? huynhdiep 5 418 08-09-15, 04:53 PM
Bài mới nhất: hieuvn
  Cách làm mất thanh Menu Bar anhduyks1 19 1,777 15-07-15, 11:20 AM
Bài mới nhất: Trần Minh Đức
  [Help] Thay đổi tên hiển thị trên thanh trạng thái PHANAN24 4 357 04-04-15, 06:41 PM
Bài mới nhất: tranthanhan1962

Chuyển nhanh:


User(s) browsing this thread: 1 Guest(s)
Diễn Đàn Thơ Văn Thi Ẩm Lâu|Nhà Hàng Sông Thơ