- [C#] Hướng dẫn convert HTML code sang PDF File trên NetCore 7 Winform
- [C#] Hướng dẫn viết ứng dụng chat với Gemini AI Google Winform
- Hướng dẫn khóa file bằng nhiều process id, không cho xóa tập tin
- Hướng dẫn cách tạo Product Id cho ứng dụng phần mềm XXXXX-XXXXX-XXXXX-XXXXX
- [SQLSERVER] Hướng dẫn tạo script sql từ ứng dụng Sqlserver management Studio
- [C#] Hướng dẫn sử dụng thư viện AutoITx lấy id và password Ultraviewer trên winform
- [VB.NET] Hướng dẫn lấy thông tin tài khoản đăng nhập windows và khởi động lại ứng dụng ở chế độ Administrator
- [C#] Sử dụng thư viện Polly gửi lại request api khi request bị lỗi hay rớt mạng
- [DEVEXPRESS] Chia sẻ source code tạo báo cáo report in tem nhãn label trên C# winform
- [DEVEXPRESS] Hướng dẫn vẽ biểu đồ Bar Chart trên Winform
- [C#] Tạo form đăng nhập và đăng ký với hiệu ứng Sliding Animation Effect
- [C#] Hướng dẫn tạo thanh toán đơn hàng qua mã vạch VietQR sử dụng API PayOS hoàn toàn miễn phí
- [C#] Hướng dẫn ghi log ra RichTextBox giống Console trên Winform sử dụng thư viện Serilog
- [C#] Hướng dẫn cách tạo mã QR Code trên file Excel
- [VB.NET] Gởi tin nhắn và file đính kèm qua ứng dụng gởi tin nhắn Whats App
- [C#] Viết ứng dụng Auto Fill list Textbox from clipboard Winform
- [TOOL] Chia sẻ phần mềm thay đổi thông tin cấu hình máy tính
- [C#] Hướng dẫn Export dữ liệu ra file Microsoft Word Template
- [C#] Chia sẻ source code tool kiểm tra domain website
- [C#] Hướng dẫn tạo file PDF sử dụng thư viện QuestPDF
Chuyển đổi số thành chữ tiếng việt bằng VB.NET
Lần trước mình có giới thiệu cho mấy bạn bài chuyển số thành chữ tiếng anh, hôm nay mình trình bày tiếp cách chuyển đổi số thành chữ tiếng việt luôn cho đủ bộ.
Trước tiên bạn import thư viện này vào:
Imports VB = Microsoft.VisualBasic.Strings
Bây giờ ta viết 2 function sau:
Public Shared Function TienBangChu(ByVal sSoTien As String) As String
Dim DonVi() As String = {"", "nghìn ", "triệu ", "tỷ ", "nghìn ", "triệu "}
Dim so As String
Dim chuoi As String = ""
Dim temp As String
Dim id As Byte
Do While (Not sSoTien.Equals(""))
If sSoTien.Length <> 0 Then
so = getNum(sSoTien)
sSoTien = VB.Left(sSoTien, sSoTien.Length - so.Length)
temp = setNum(so)
so = temp
If Not so.Equals("") Then
temp = temp + DonVi(id)
chuoi = temp + chuoi
End If
id = id + 1
End If
Loop
temp = UCase(VB.Left(chuoi, 1))
Return temp & VB.Right(chuoi, Len(chuoi) - 1)
End Function
Private Shared Function getNum(ByVal sSoTien As String) As String
Dim so As String
If sSoTien.Length >= 3 Then
so = VB.Right(sSoTien, 3)
Else
so = VB.Right(sSoTien, sSoTien.Length)
End If
Return so
End Function
Private Shared Function setNum(ByVal sSoTien As String) As String
Dim chuoi As String = ""
Dim flag0 As Boolean
Dim flag1 As Boolean
Dim temp As String
temp = sSoTien
Dim kyso() As String = {"không ", "một ", "hai ", "ba ", "bốn ", "năm ", "sáu ", "bảy ", "tám ", "chín "}
'Xet hang tram
If sSoTien.Length = 3 Then
If Not (VB.Left(sSoTien, 1) = 0 And VB.Left(VB.Right(sSoTien, 2), 1) = 0 And VB.Right(sSoTien, 1) = 0) Then
chuoi = kyso(VB.Left(sSoTien, 1)) + "trăm "
End If
sSoTien = VB.Right(sSoTien, 2)
End If
'Xet hang chuc
If sSoTien.Length = 2 Then
If VB.Left(sSoTien, 1) = 0 Then
If VB.Right(sSoTien, 1) <> 0 Then
chuoi = chuoi + "linh "
End If
flag0 = True
Else
If VB.Left(sSoTien, 1) = 1 Then
chuoi = chuoi + "mười "
Else
chuoi = chuoi + kyso(VB.Left(sSoTien, 1)) + "mươi "
flag1 = True
End If
End If
sSoTien = VB.Right(sSoTien, 1)
End If
'Xet hang don vi
If VB.Right(sSoTien, 1) <> 0 Then
If VB.Left(sSoTien, 1) = 5 And Not flag0 Then
If temp.Length = 1 Then
chuoi = chuoi + "năm "
Else
chuoi = chuoi + "lăm "
End If
Else
If VB.Left(sSoTien, 1) = 1 And Not (Not flag1 Or flag0) And chuoi <> "" Then
chuoi = chuoi + "mốt "
Else
chuoi = chuoi + kyso(VB.Left(sSoTien, 1)) + ""
End If
End If
Else
End If
Return chuoi
End Function
Tới đây xem như mọi thứ đã xong, bây giờ bạn thiết kế form như trên, tại nút nhấn ta viết code sau:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
TextBox2.Text = TienBangChu(TextBox1.Text)
End Sub
Chúc các bạn thành công!