Hàm đọc số ra chữ (tiền đồng)
Chia sẻ bởi Lại Đình Đạt |
Ngày 25/04/2019 |
36
Chia sẻ tài liệu: Hàm đọc số ra chữ (tiền đồng) thuộc Tin học 12
Nội dung tài liệu:
Function SoRaChu(ByVal NumCurrency As Double) As String
If NumCurrency = 0 Then
SoRaChu = "Khoâng ñoàng"
Exit Function
End If
If NumCurrency > 922337203685477# Then ` S? l?n nh?t c?a lo?i CURRENCY
SoRaChu = "Khong doi duoc so lon hon 922,337,203,685,477"
Exit Function
End If
Static CharVND(9) As String, BangChu As String, I As Integer
Dim SoLe, SoDoi As Integer, PhanChan, Ten As String
Dim DonViTien As String, DonViLe As String
Dim NganTy As Integer, Ty As Integer, Trieu As Integer, Ngan As Integer
Dim Dong As Integer, Tram As Integer, Muoi As Integer, DonVi As Integer
DonViTien = "ñoàng" ` B?n có th? thay don v? ti?n t? khác ? dây
DonViLe = "xu"
CharVND(1) = "moät"
CharVND(2) = "hai"
CharVND(3) = "ba"
CharVND(4) = "boán"
CharVND(5) = "naêm"
CharVND(6) = "saùu"
CharVND(7) = "baûy"
CharVND(8) = "taùm"
CharVND(9) = "chín"
SoLe = Int((NumCurrency - Int(NumCurrency)) * 100) `2 kí s? l?
PhanChan = Trim$(Str$(Int(NumCurrency)))
PhanChan = Space(15 - Len(PhanChan)) + PhanChan
NganTy = Val(Left(PhanChan, 3))
Ty = Val(Mid$(PhanChan, 4, 3))
Trieu = Val(Mid$(PhanChan, 7, 3))
Ngan = Val(Mid$(PhanChan, 10, 3))
Dong = Val(Mid$(PhanChan, 13, 3))
If NganTy = 0 And Ty = 0 And Trieu = 0 And Ngan = 0 And Dong = 0 Then
BangChu = "khoâng " + DonViTien + " "
I = 5
Else
BangChu = ""
I = 0
End If
While I <= 5
Select Case I
Case 0
SoDoi = NganTy
Ten = " nghìn tyû"
Case 1
SoDoi = Ty
Ten = "tyû"
Case 2
SoDoi = Trieu
Ten = "trieäu"
Case 3
SoDoi = Ngan
Ten = " nghìn"
Case 4
SoDoi = Dong
Ten = DonViTien
Case 5
SoDoi = SoLe
Ten = DonViLe
End Select
If SoDoi <> 0 Then
Tram = Int(SoDoi / 100)
Muoi = Int((SoDoi - Tram * 100) / 10)
DonVi = (SoDoi - Tram * 100) - Muoi * 10
BangChu = Trim(BangChu) + IIf(Len(BangChu) = 0, "", ", ") + _
IIf(Tram <> 0, Trim(CharVND(Tram)) + " traêm ", "")
If Muoi = 0 And Tram <> 0 And DonVi <> 0 Then
BangChu = BangChu + "leû "
Else
If Muoi <> 0 Then
BangChu = BangChu + IIf(Muoi <> 0 And Muoi <> 1, _
Trim(CharVND(Muoi)) + " möôi ", "möôøi ")
End If
End If
If Muoi <> 0 And DonVi = 5 Then
BangChu = BangChu + " laêm " + Ten + " "
Else
If Muoi > 1 And DonVi = 1 Then
BangChu = BangChu + " moát " + Ten + " "
Else
BangChu = BangChu + IIf(DonVi <> 0, Trim(CharVND(DonVi)) + " " + Ten + " ", Ten + " ")
End If
End If
Else
BangChu = BangChu + IIf(I = 4, DonViTien + " ", "")
End If
I = I + 1
Wend
If SoLe = 0 Then
BangChu = BangChu + " chaün "
End If
Mid$(BangChu, 1, 1) = UCase$(Mid$(BangChu, 1, 1))
SoRaChu = BangChu
End Function
If NumCurrency = 0 Then
SoRaChu = "Khoâng ñoàng"
Exit Function
End If
If NumCurrency > 922337203685477# Then ` S? l?n nh?t c?a lo?i CURRENCY
SoRaChu = "Khong doi duoc so lon hon 922,337,203,685,477"
Exit Function
End If
Static CharVND(9) As String, BangChu As String, I As Integer
Dim SoLe, SoDoi As Integer, PhanChan, Ten As String
Dim DonViTien As String, DonViLe As String
Dim NganTy As Integer, Ty As Integer, Trieu As Integer, Ngan As Integer
Dim Dong As Integer, Tram As Integer, Muoi As Integer, DonVi As Integer
DonViTien = "ñoàng" ` B?n có th? thay don v? ti?n t? khác ? dây
DonViLe = "xu"
CharVND(1) = "moät"
CharVND(2) = "hai"
CharVND(3) = "ba"
CharVND(4) = "boán"
CharVND(5) = "naêm"
CharVND(6) = "saùu"
CharVND(7) = "baûy"
CharVND(8) = "taùm"
CharVND(9) = "chín"
SoLe = Int((NumCurrency - Int(NumCurrency)) * 100) `2 kí s? l?
PhanChan = Trim$(Str$(Int(NumCurrency)))
PhanChan = Space(15 - Len(PhanChan)) + PhanChan
NganTy = Val(Left(PhanChan, 3))
Ty = Val(Mid$(PhanChan, 4, 3))
Trieu = Val(Mid$(PhanChan, 7, 3))
Ngan = Val(Mid$(PhanChan, 10, 3))
Dong = Val(Mid$(PhanChan, 13, 3))
If NganTy = 0 And Ty = 0 And Trieu = 0 And Ngan = 0 And Dong = 0 Then
BangChu = "khoâng " + DonViTien + " "
I = 5
Else
BangChu = ""
I = 0
End If
While I <= 5
Select Case I
Case 0
SoDoi = NganTy
Ten = " nghìn tyû"
Case 1
SoDoi = Ty
Ten = "tyû"
Case 2
SoDoi = Trieu
Ten = "trieäu"
Case 3
SoDoi = Ngan
Ten = " nghìn"
Case 4
SoDoi = Dong
Ten = DonViTien
Case 5
SoDoi = SoLe
Ten = DonViLe
End Select
If SoDoi <> 0 Then
Tram = Int(SoDoi / 100)
Muoi = Int((SoDoi - Tram * 100) / 10)
DonVi = (SoDoi - Tram * 100) - Muoi * 10
BangChu = Trim(BangChu) + IIf(Len(BangChu) = 0, "", ", ") + _
IIf(Tram <> 0, Trim(CharVND(Tram)) + " traêm ", "")
If Muoi = 0 And Tram <> 0 And DonVi <> 0 Then
BangChu = BangChu + "leû "
Else
If Muoi <> 0 Then
BangChu = BangChu + IIf(Muoi <> 0 And Muoi <> 1, _
Trim(CharVND(Muoi)) + " möôi ", "möôøi ")
End If
End If
If Muoi <> 0 And DonVi = 5 Then
BangChu = BangChu + " laêm " + Ten + " "
Else
If Muoi > 1 And DonVi = 1 Then
BangChu = BangChu + " moát " + Ten + " "
Else
BangChu = BangChu + IIf(DonVi <> 0, Trim(CharVND(DonVi)) + " " + Ten + " ", Ten + " ")
End If
End If
Else
BangChu = BangChu + IIf(I = 4, DonViTien + " ", "")
End If
I = I + 1
Wend
If SoLe = 0 Then
BangChu = BangChu + " chaün "
End If
Mid$(BangChu, 1, 1) = UCase$(Mid$(BangChu, 1, 1))
SoRaChu = BangChu
End Function
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Lại Đình Đạt
Dung lượng: |
Lượt tài: 2
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)