خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را


نمایش با حروف ارقام در vb.net

نمایش با حروف ارقام در vb.net
در دو پست قبلی، نحوه نمایش ارقام به صورت سه رقم سه رقم و همین طور جلوگیری از وارد کردن مقادیر غیر عددی در Textbox صحبت کردیم و با کدهای ساده ای به اهداف خود رسیدیم. موضوع دیگری که بیشتر در پروژه های مالی به چشم می خورد، نمایش با حروف ارقام می باشد. مثلا جمع مبلغ یک سند یا فاکتور همانطور که به صورت عدد و ارقام در نمایش داده شده، به اتوماتیک، مقدار با حروف آن هم نمایش داده شود. توجه داشته باشید که این مهم در زبان برنامه نویسی VB.NET انجام شده است و می توانید کدها را به زبانهای دیگر تبدیل کنید.

نرم افزار سامانه مودیان راهکار
همانطور که در تصویر زیر مشاهده می کنید Textbox مربوط به عدد ورودی در فرم قرار داده شده است. در زیر آن یک Label برای نمایش با حروف رقم وارد شده، قرار داده شده است.



نمایش با حروف ارقام در vb.net . آموزشگاه رایگان خوش آموز

حال یک کلاس جدید با نام Fa_Money در پروژه ایجاد کنید و کدهای زیر را کامل انتخاب کرده و در کلاس خود Paste کنید:

Public Class Fa_Money

Public Shared Function Fa_Money(ByVal The_Mony As String) As String
Dim D As String = ""
Dim Rt As String = ""
'
Dim D1 As String = ""
Dim D2 As String = ""
Dim D3 As String = ""
Dim D4 As String = ""
Dim D5 As String = ""
'
Dim T1 As String = ""
Dim T2 As String = ""
Dim T3 As String = ""
Dim T4 As String = ""
Dim T5 As String = ""
'
If The_Mony = "" Then
D = 0
Else
If IsNumeric(The_Mony) Then
D = The_Mony
Else
D = 0
End If
End If
D = Format(CDbl(D), "000000000000000")
'
D1 = Mid(D, 13, 3)
D2 = Mid(D, 10, 3)
D3 = Mid(D, 7, 3)
D4 = Mid(D, 4, 3)
D5 = Mid(D, 1, 3)
'
T1 = Fa_DDD(D1)
T2 = Fa_DDD(D2)
T3 = Fa_DDD(D3)
T4 = Fa_DDD(D4)
T5 = Fa_DDD(D5)

'---
Rt = T1
If T2 <> "" Then
If Rt <> "" Then
Rt = T2 & " هزار و " & Rt
Else
Rt = T2 & " هزار"
End If
End If
'
If T3 <> "" Then
If Rt <> "" Then
Rt = T3 & " ميليون و " & Rt
Else
Rt = T3 & " ميليون"
End If
End If
'
If T4 <> "" Then
If Rt <> "" Then
Rt = T4 & " ميليارد و " & Rt
Else
Rt = T4 & " ميليارد"
End If
End If
'
If T5 <> "" Then
If Rt <> "" Then
Rt = T5 & " هزار ميليارد و " & Rt
Else
Rt = T5 & " هزار ميليارد"
End If
End If
'---

Fa_Money = Rt '& " ريال"
End Function

Private Shared Function Fa_DDD(ByVal D As String) As String
Dim Rt As String
'
Dim D1 As String = ""
Dim D2 As String = ""
Dim D3 As String = ""
Dim D12 As String = ""
'
Dim T1 As String = ""
Dim T2 As String = ""
Dim T3 As String = ""
Dim T12 As String = ""
'
D1 = Mid(D, 3, 1)
D2 = Mid(D, 2, 1)
D3 = Mid(D, 1, 1)
D12 = Mid(D, 2, 2)
'---
T3 = Fa_100_900(D3)
If (CInt(D12) >= 11 And CInt(D12) <= 19) Then
T12 = Fa_11_19(D12)
Else
T2 = Fa_10_90(D2)
T1 = Fa_1_9(D1)
End If
'---
If T12 <> "" Then
Rt = T12
Else
Rt = T1
If T2 <> "" Then
If Rt <> "" Then
Rt = T2 & " و " & Rt
Else
Rt = T2
End If
End If
End If
'
If T3 <> "" Then
If Rt <> "" Then
Rt = T3 & " و " & Rt
Else
Rt = T3
End If
End If
'---
Fa_DDD = Rt
End Function

Private Shared Function Fa_1_9(ByVal D As String) As String
Select Case D
Case "1"
Fa_1_9 = "يك"
Case "2"
Fa_1_9 = "دو"
Case "3"
Fa_1_9 = "سه"
Case "4"
Fa_1_9 = "چهار"
Case "5"
Fa_1_9 = "پنج"
Case "6"
Fa_1_9 = "شش"
Case "7"
Fa_1_9 = "هفت"
Case "8"
Fa_1_9 = "هشت"
Case "9"
Fa_1_9 = "نه"
Case Else
Return ""
End Select
End Function

Private Shared Function Fa_11_19(ByVal D As String) As String
Select Case D
Case "11"
Fa_11_19 = "يازده"
Case "12"
Fa_11_19 = "دوازده"
Case "13"
Fa_11_19 = "سيزده"
Case "14"
Fa_11_19 = "چهارده"
Case "15"
Fa_11_19 = "پانزده"
Case "16"
Fa_11_19 = "شانزده"
Case "17"
Fa_11_19 = "هفده"
Case "18"
Fa_11_19 = "هجده"
Case "19"
Fa_11_19 = "نوزده"
Case Else
Return ""
End Select
End Function

Private Shared Function Fa_10_90(ByVal D As String) As String
Select Case D
Case "1"
Fa_10_90 = "ده"
Case "2"
Fa_10_90 = "بيست"
Case "3"
Fa_10_90 = "سي"
Case "4"
Fa_10_90 = "چهل"
Case "5"
Fa_10_90 = "پنجاه"
Case "6"
Fa_10_90 = "شصت"
Case "7"
Fa_10_90 = "هفتاد"
Case "8"
Fa_10_90 = "هشتاد"
Case "9"
Fa_10_90 = "نود"
Case Else
Return ""
End Select
End Function

Private Shared Function Fa_100_900(ByVal D As String) As String
Select Case D
Case "1"
Fa_100_900 = "يكصد"
Case "2"
Fa_100_900 = "دويست"
Case "3"
Fa_100_900 = "سيصد"
Case "4"
Fa_100_900 = "چهارصد"
Case "5"
Fa_100_900 = "پانصد"
Case "6"
Fa_100_900 = "ششصد"
Case "7"
Fa_100_900 = "هفتصد"
Case "8"
Fa_100_900 = "هشتصد"
Case "9"
Fa_100_900 = "نهصد"
Case Else
Return ""
End Select
End Function


End Class
ضمنا کلاس فوق را از این لینک می توانید دانلود کنید.
در ادامه کار به سراغ Textbox ای که روی فرم قرار داده بودیم می رویم. یا روی Textbox دابل کلیک کنید تا وارد Event مربوط به TextChanged این Textbox شوید و یا اینکه Textbox را کلیک کرده و از پنل سمت راست از قسمت Property های این Textbox، آیکون Events را کلیک کنید و TextChanged را یافته و روی آن دابل کلیک کنید که در هر دو صورت نتیجه یکسان خواهد بود.

جدا کردن ارقام به صورت سه رقم در Textbox وی بی دات نت . آموزشگاه رایگان خوش آموز

حالا کد زیر را در این TextChanged Event این Textbox کپی کنید.

lblmoney.Text = Fa_Money.Fa_Money(txtmoney.Text)

نام Label ای که در فرم برای نمایش با حروف ارقام قرار داده شده بود، lblmoney می باشد. در دستور فوق مقدار text این label برابر با مقداری عددی که در textbox مربوطه وارد می شود و به کلاس Fa_Money که یک پارامتر از نوع String دریافت می کند، می باشد. سپس این کلاس کار خود را انجام داده و مقدار عددی را با حروف هم نمایش داده می شود.

نمایش با حروف ارقام در vb.net . آموزشگاه رایگان خوش آموز

در تصویر زیر همانطور که مشاهده می کنید، ارقام به صورت خودکار، بصورت حروف هم در label مذکور نمایش داده می شوند.

نمایش با حروف ارقام در vb.net . آموزشگاه رایگان خوش آموز

در کد فوق می توانید مقدار "ریال" یا "تومان" یا هر واحد پول با ارزی دیگری را اضافه کنید که در انتهای رقم اضافه و نمایش دهد.

نمایش با حروف ارقام در vb.net . آموزشگاه رایگان خوش آموز

نمایش با حروف ارقام در vb.net . آموزشگاه رایگان خوش آموز


نمایش دیدگاه ها (0 دیدگاه)

دیدگاه خود را ثبت کنید:

انتخاب تصویر ویرایش حذف
توجه! حداکثر حجم مجاز برای تصویر 500 کیلوبایت می باشد.


دسته بندی مطالب خوش آموز