Chào các bạn. Mình copy code này trên mạng lâu rồi, nên không nhớ rõ tác giả. Mình thấy hàm này rất hay, nhưng lại có 2 khuyết điểm (theo mình) nhờ các bạn khắc phục:
- Bỏ từ USD sau cùng ?
- Thêm dấu phân cách (dấu phẩy) ở phần chữ (VD phần số là 1,900) ?
Vậy rất mong các bạn xa gần quan tâm giúp đỡ. Bên dưới là nội dung code
[/SIZE][/FONT]
- Bỏ từ USD sau cùng ?
- Thêm dấu phân cách (dấu phẩy) ở phần chữ (VD phần số là 1,900) ?
Vậy rất mong các bạn xa gần quan tâm giúp đỡ. Bên dưới là nội dung code
Mã:
[FONT=Times New Roman][SIZE=3]Public Function USD(AMT)[/SIZE][/FONT]
[FONT=Times New Roman][SIZE=3]Dim ToRead, Chuoi, Nhom, Word As String[/SIZE][/FONT]
[FONT=Times New Roman][SIZE=3]Dim I, J As Byte, W, X, Y, Z As Double[/SIZE][/FONT]
[FONT=Times New Roman][SIZE=3]Dim Donvi, Hchuc, Khung[/SIZE][/FONT]
[FONT=Times New Roman][SIZE=3]If AMT = 0 Then[/SIZE][/FONT]
[SIZE=3][FONT=Times New Roman] ToRead = "None"[/FONT][/SIZE]
[FONT=Times New Roman][SIZE=3]Else[/SIZE][/FONT]
[SIZE=3][FONT=Times New Roman] Donvi = Array("None", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen")[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman] Hchuc = Array("None", "None", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety")[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman] Khung = Array("None", "trillion", "billion", "million", "thousand", "USD", "")[/FONT][/SIZE]
[FONT=Times New Roman][SIZE=3]If AMT < 0 Then[/SIZE][/FONT]
[SIZE=3][FONT=Times New Roman] ToRead = "Minus" & Space(1)[/FONT][/SIZE]
[FONT=Times New Roman][SIZE=3]Else[/SIZE][/FONT]
[SIZE=3][FONT=Times New Roman] ToRead = Space(0)[/FONT][/SIZE]
[FONT=Times New Roman][SIZE=3]End If[/SIZE][/FONT]
[FONT=Times New Roman][SIZE=3]Chuoi = Format(Abs(AMT), "###############.00") '18 digit with 2 decimal places[/SIZE][/FONT]
[FONT=Times New Roman][SIZE=3]Chuoi = Right(Space(15) & Chuoi, 18)[/SIZE][/FONT]
[FONT=Times New Roman][SIZE=3]For I = 1 To 6[/SIZE][/FONT]
[SIZE=3][FONT=Times New Roman] Nhom = Mid(Chuoi, I * 3 - 2, 3)[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman] If Nhom <> Space(3) Then[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman] Select Case Nhom[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman] Case "000"[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman] If I = 5 And Abs(AMT) > 1 Then[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman] Word = "USD" & Space(1)[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman] Else[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman] Word = Space(0)[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman] End If[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman] Case ".00"[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman] Word = "only."[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman] Case Else[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman] X = Val(Left(Nhom, 1))[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman] Y = Val(Mid(Nhom, 2, 1))[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman] Z = Val(Right(Nhom, 1))[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman] W = Val(Right(Nhom, 2))[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman] If X = 0 Then[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman] Word = Space(0)[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman] Else[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman] Word = Donvi(X) & Space(1) & "hundred" & Space(1)[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman] If W > 0 And W < 21 Then[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman] Word = Word & "and" & Space(1)[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman] End If[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman] End If[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman] If W < 20 And W > 0 Then[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman] Word = Word & Donvi(W) & Space(1)[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman] Else[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman] If W >= 20 Then[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman] Word = Word & Hchuc(Y) & Space(1)[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman] If Z > 0 Then[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman] Word = Word & Donvi(Z) & Space(1)[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman] End If[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman] End If[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman] End If[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman] Word = Word & Khung(I) & Space(1)[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman] End Select[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman] ToRead = ToRead & Word[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman] End If[/FONT][/SIZE]
[FONT=Times New Roman][SIZE=3]Next I[/SIZE][/FONT]
[FONT=Times New Roman][SIZE=3]End If[/SIZE][/FONT]
[FONT=Times New Roman][SIZE=3]USD = UCase(Left(ToRead, 1)) & Mid(ToRead, 2)[/SIZE][/FONT]
[FONT=Times New Roman][SIZE=3]End Function
Chỉnh sửa lần cuối bởi điều hành viên: