- [SQLSERVER] Loại bỏ Restricted User trên database MSSQL
- [C#] Hướng dẫn tạo mã QRcode Style trên winform
- [C#] Hướng dẫn sử dụng temp mail service api trên winform
- [C#] Hướng dẫn tạo mã thanh toán VietQR Pay không sử dụng API trên winform
- [C#] Hướng Dẫn Tạo Windows Service Đơn Giản Bằng Topshelf
- [C#] Chia sẻ source code đọc dữ liệu từ Google Sheet trên winform
- [C#] Chia sẻ source code tạo mã QR MOMO đa năng Winform
- [C#] Chia sẻ source code phần mềm lên lịch tự động chạy ứng dụng Scheduler Task Winform
- [Phần mềm] Tải và cài đặt phần mềm Sublime Text 4180 full version
- [C#] Hướng dẫn download file từ Minio Server Winform
- [C#] Hướng dẫn đăng nhập zalo login sử dụng API v4 trên winform
- [SOFTWARE] Phần mềm gởi tin nhắn Zalo Marketing Pro giá rẻ mềm nhất thị trường
- [C#] Việt hóa Text Button trên MessageBox Dialog Winform
- [DEVEXPRESS] Chia sẻ code các tạo report in nhiều hóa đơn trên XtraReport C#
- [POWER AUTOMATE] Hướng dẫn gởi tin nhắn zalo từ file Excel - No code
- [C#] Chia sẻ code lock và unlock user trong domain Window
- [DEVEXPRESS] Vẽ Biểu Đồ Stock Chứng Khoán - Công Cụ Thiết Yếu Cho Nhà Đầu Tư trên Winform
- [C#] Hướng dẫn bảo mật ứng dụng 2FA (Multi-factor Authentication) trên Winform
- [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
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!