تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
طريقة تحويل الأرقام إلى حروف
#1
السلام عليكم

لمن يقدر يساعدني في الاتي:

عندي textbox1 يتم ادخال أرقام مثل 7500

اريد اجعل قيمة textbox2 تساوي الأرقام بالحروف = سبعة الالف وخمسمائة ريال فقط

حيث أن الكود داخل حدث changed لل textbox1


الله يعطيكم العافية
وشكراً
الرد }}}
تم الشكر بواسطة:
#2
و عليكم السلام و رحمة الله و بركاته

راجع الكود في هذه المشاركة
قال صلى الله عليه وسلم: 
«كلمتان خفيفتان على اللسان 
ثقيلتان في الميزان،حبيبتان إلى الرحمن: 
سبحان الله وبحمده، سبحان الله العظيم».
الرد }}}
تم الشكر بواسطة:
#3
ذلك في حدث TextChanged لـ TextBox1:

vb
Copy code
Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
' احصل على القيمة المدخلة في TextBox1
Dim inputValue As String = TextBox1.Text.Trim()

' تحويل الرقم إلى كلمة
Dim wordValue As String = ConvertNumberToWords(inputValue)

' عرض الناتج في TextBox2
TextBox2.Text = wordValue
End Sub

Private Function ConvertNumberToWords(number As String) As String
' تحويل الرقم إلى كلمة
' يمكنك استخدام أي خوارزمية تحويل رقم إلى كلمة تفضل بها
' يمكنك البحث عن خوارزميات متوفرة على الإنترنت أو كتابة خاصة بك

' هنا نستخدم خوارزمية بسيطة لأغراض التوضيح
Dim units() As String = {"", "واحد", "اثنان", "ثلاثة", "أربعة", "خمسة", "ستة", "سبعة", "ثمانية", "تسعة"}
Dim teens() As String = {"عشرة", "إحدى عشر", "اثنا عشر", "ثلاثة عشر", "أربعة عشر", "خمسة عشر", "ستة عشر", "سبعة عشر", "ثمانية عشر", "تسعة عشر"}
Dim tens() As String = {"", "عشرون", "ثلاثون", "أربعون", "خمسون", "ستون", "سبعون", "ثمانون", "تسعون"}
Dim hundreds() As String = {"", "مئة", "مئتان", "ثلاثمئة", "أربعمئة", "خمسمئة", "ستمئة", "سبعمئة", "ثمانمئة", "تسعمئة"}

' إزالة الأصفار الزائدة من الرقم
number = number.TrimStart("0"c)

' التحقق من أن الرقم ليس فارغًا
If String.IsNullOrEmpty(number) Then
Return "صفر"
End If

' التحقق من صحة الرقم
Dim numericValue As Integer
If Not Integer.TryParse(number, numericValue) Then
Return "خطأ في الرقم"
End If

' حالة الرقم صفر
If numericValue = 0 Then
Return "صفر"
End If

' تحويل الرقم إلى كلمة
Dim words As New StringBuilder()

' تحويل الجزء الثلاثي إلى كلمة
Dim triplets() As Integer = {0, 0, 0}
Dim tripletCounter As Integer = 0

Do While numericValue > 0
triplets(tripletCounter) = numericValue Mod 1000
numericValue \= 1000
tripletCounter += 1
Loop

For i As Integer = tripletCounter - 1 To 0 Step -1
Dim triplet As Integer = triplets(i)

If triplet > 0 Then
If words.Length > 0 Then
words.Append(" و ")
End If

If triplet >= 100 Then
words.Append(hundreds(triplet \ 100)).Append(" ")
triplet \= 100
End If

If triplet >= 10 AndAlso triplet <= 19 Then
words.Append(teens(triplet - 10))
Else
words.Append(tens(triplet \ 10)).Append(" ")
triplet \= 10

If triplet > 0 Then
words.Append(units(triplet))
End If
End If

If i > 0 Then
words.Append(" ").Append("ألف"c)
End If
End If
Next

Return words.ToString().Trim()
End Function
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
Sad مشكلة تقريب الأرقام Sql Server waataanys 2 391 09-05-24, 03:52 PM
آخر رد: تركي الحلواني
  تلوين الخلايا بالداتاجريد حسب الأرقام R G B محمد خيري 4 109 09-05-24, 01:11 AM
آخر رد: أبو خالد الشكري
  تحويل كود فيجوال6 إلى الدوت نت مصمم هاوي 4 160 04-05-24, 06:06 PM
آخر رد: مصمم هاوي
  [VB.NET] طريقة استدعاء مكتبة dll عبد الناصر موسى 3 1,496 10-04-24, 04:33 AM
آخر رد: emadahmed1995
  [VB.NET] طريقة التعلم بخطوات صحيحة للتعلم و المعرفة انمار الرواي 0 74 31-03-24, 08:23 PM
آخر رد: انمار الرواي
  محتاج طريقة لتنسيق نص الرسالة المرسلة إلى الواتس اب new_programer 2 242 04-03-24, 07:15 AM
آخر رد: new_programer
  خطوط تعريب الأرقام في كريستال ريبورت صالح عبدالله 4 332 16-02-24, 09:28 PM
آخر رد: صالح عبدالله
  طريقة اجراء نسخة احتياطية و استرجاعها ؟ Osama NY 2 496 07-02-24, 08:59 PM
آخر رد: Kamil
  [VB.NET] ارغب في كود إلزام المستخدم ادخال الأرقام محصور بعددين loay775 2 230 18-01-24, 05:02 PM
آخر رد: loay775
  [VB.NET] تحويل المشروع سطح المكتب للعمل على الويب Doby 3 431 13-01-24, 04:22 AM
آخر رد: dr.programming

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم