منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
كود اضافة الفواصل العشرية - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : كود اضافة الفواصل العشرية (/showthread.php?tid=39206)



كود اضافة الفواصل العشرية - ahmedbezia - 03-08-21

السلام عليكم 
با اختصار اخواني 
اريد كود التعديل علي الأرقام مثلا اذا انا كتبت في التكست بوكس الرقم 3000 بدون فواصل اريد من الكود ان يجعل هذ الرقم علي الشكر التال 30.00



RE: كود اضافة الفواصل العشرية - ahmedbezia - 03-08-21

هل الامر صعب الي هذا الحد


RE: كود اضافة الفواصل العشرية - ابراهيم ايبو - 04-08-21

السلام عليكم ورحمة الله وبركاته
اخي الكريم موضوع الفاصلة بين الارقام لتسهيل القاءة انتبه له جيدا حتى لاتتم القراءة بشكل خاطئ (لااحب وضعها بين الارقام)
يجب استخدام النقطة للفاصلة العشرية لانها ستعبر عن الكسور (اختر اعداداتها من الويندوز)
اما الفاصلة العادية فيمكن استخدامها لهذا الامر
كود :
Private Sub TextBox1_KeyDown(sender As Object, e As KeyEventArgs) Handles TextBox1.KeyDown
       If e.KeyCode = Keys.Enter Then
           TextBox1.Text = String.Format("{0:0,0}", Val(TextBox1.Text))
       End If
   End Sub



RE: كود اضافة الفواصل العشرية - ahmedbezia - 04-08-21

مشكور اخي علي الاهتمام لاكن الكود يضع الفاصلة بعد رقم ان اريدان يضع الفاصلة في الخر رقمين مثلا اكتب 3000 ويطلع 30.00

(04-08-21, 09:05 PM)ابراهيم ايبو كتب : السلام عليكم ورحمة الله وبركاته
اخي الكريم موضوع الفاصلة بين الارقام لتسهيل القاءة انتبه له جيدا حتى لاتتم القراءة بشكل خاطئ (لااحب وضعها بين الارقام)
يجب استخدام النقطة للفاصلة العشرية لانها ستعبر عن الكسور (اختر اعداداتها من الويندوز)
اما الفاصلة العادية فيمكن استخدامها لهذا الامر
كود :
Private Sub TextBox1_KeyDown(sender As Object, e As KeyEventArgs) Handles TextBox1.KeyDown
       If e.KeyCode = Keys.Enter Then
           TextBox1.Text = String.Format("{0:0,0}", Val(TextBox1.Text))
       End If
   End Sub

مشكور اخي علي الاهتمام لاكن الكود يضع الفاصلة بعد رقم ان اريدان يضع الفاصلة في الخر رقمين مثلا اكتب 3000 ويطلع 30.00


RE: كود اضافة الفواصل العشرية - ابراهيم ايبو - 04-08-21

اخي لايجوز ولايمكن ذلك (حسب ما اعرف) 
عملية وضع الفاصلة لتسهيل القراءة هي كل 3 خانات هذا في دوال اللغة
سأحاول ايجاد كود لماتريد ان شاء الله

السلام عليكم
تفضل اخي هذا الكود ان كنت تريد فاصلة استبدل النقطة بالفاصلة وان كنت تريد النقطة فاتركها على حالها
كود :
Private Sub TextBox1_KeyDown(sender As Object, e As KeyEventArgs) Handles TextBox1.KeyDown

       If e.KeyCode = Keys.Enter Then
           Dim AA() As Char = TextBox1.Text.ToCharArray()
           TextBox1.Text = TextBox1.Text.Substring(0, TextBox1.TextLength - 2)
           TextBox1.Text = TextBox1.Text.TrimEnd(CChar("."))
           TextBox1.Text += "." & AA(AA.Length - 2) & AA(AA.Length - 1)

       End If
   End Sub
او هذا الكود المختصر وهو من احد الاعضاء يظهر في الاوقات الحاسمة يدلي بخبرته مشكورا ويبتعد عن الانظار جزاه الله كل الخير وامد في عمره وادام عليه وافر الصحة والعافية 
الصراحة لم يخطر في بالي ال(Insert) !!!!!
كود :
If e.KeyCode = Keys.Enter Then
           Dim AA As String = TextBox1.Text
           TextBox1.Text = AA.Insert(AA.Length - 2, ".")
       End If

لكن اخي الكريم اعيد واكرر هذا خطأ في العمليات الحسابية


RE: كود اضافة الفواصل العشرية - kebboud - 05-08-21

(04-08-21, 10:08 PM)ابراهيم ايبو كتب : اخي لايجوز ولايمكن ذلك (حسب ما اعرف) 
عملية وضع الفاصلة لتسهيل القراءة هي كل 3 خانات هذا في دوال اللغة
سأحاول ايجاد كود لماتريد ان شاء الله

السلام عليكم
تفضل اخي هذا الكود ان كنت تريد فاصلة استبدل النقطة بالفاصلة وان كنت تريد النقطة فاتركها على حالها
كود :
Private Sub TextBox1_KeyDown(sender As Object, e As KeyEventArgs) Handles TextBox1.KeyDown

       If e.KeyCode = Keys.Enter Then
           Dim AA() As Char = TextBox1.Text.ToCharArray()
           TextBox1.Text = TextBox1.Text.Substring(0, TextBox1.TextLength - 2)
           TextBox1.Text = TextBox1.Text.TrimEnd(CChar("."))
           TextBox1.Text += "." & AA(AA.Length - 2) & AA(AA.Length - 1)

       End If
   End Sub
او هذا الكود المختصر وهو من احد الاعضاء يظهر في الاوقات الحاسمة يدلي بخبرته مشكورا ويبتعد عن الانظار جزاه الله كل الخير وامد في عمره وادام عليه وافر الصحة والعافية 
الصراحة لم يخطر في بالي ال(Insert) !!!!!
كود :
If e.KeyCode = Keys.Enter Then
           Dim AA As String = TextBox1.Text
           TextBox1.Text = AA.Insert(AA.Length - 2, ".")
       End If

لكن اخي الكريم اعيد واكرر هذا خطأ في العمليات الحسابية

السلام عليكم أخي الفاضل ابراهيم حلال المشاكل البرمجية بعد عجزنا عن حلها..
عندي مشروع برنامج يحفظ تلقائيا ما تكتبه في الداتاغريدفيو في قاعدة بيانات اكسس ..و هذا  البرنامج مصمم اصلا على انه يحفظ البيانات على شكل نص STRING و من المعروف ان الجداول النصية في الاكسس تستقبل جميع انواع البيانات بما فيها الارقام 
و عندما احفظ بيانات الارقام العشرية في هذا البرنامج تأتي بعدها فاصلة طويلة من الارقام ..كيف يمكنني أن اجعلها 5 ارقام فقط بعد الفاصلة ؟
دمت بخير


RE: كود اضافة الفواصل العشرية - ahmedbezia - 05-08-21

(04-08-21, 10:08 PM)ابراهيم ايبو كتب : اخي لايجوز ولايمكن ذلك (حسب ما اعرف) 
عملية وضع الفاصلة لتسهيل القراءة هي كل 3 خانات هذا في دوال اللغة
سأحاول ايجاد كود لماتريد ان شاء الله

السلام عليكم
تفضل اخي هذا الكود ان كنت تريد فاصلة استبدل النقطة بالفاصلة وان كنت تريد النقطة فاتركها على حالها
كود :
Private Sub TextBox1_KeyDown(sender As Object, e As KeyEventArgs) Handles TextBox1.KeyDown

       If e.KeyCode = Keys.Enter Then
           Dim AA() As Char = TextBox1.Text.ToCharArray()
           TextBox1.Text = TextBox1.Text.Substring(0, TextBox1.TextLength - 2)
           TextBox1.Text = TextBox1.Text.TrimEnd(CChar("."))
           TextBox1.Text += "." & AA(AA.Length - 2) & AA(AA.Length - 1)

       End If
   End Sub
او هذا الكود المختصر وهو من احد الاعضاء يظهر في الاوقات الحاسمة يدلي بخبرته مشكورا ويبتعد عن الانظار جزاه الله كل الخير وامد في عمره وادام عليه وافر الصحة والعافية 
الصراحة لم يخطر في بالي ال(Insert) !!!!!
كود :
If e.KeyCode = Keys.Enter Then
           Dim AA As String = TextBox1.Text
           TextBox1.Text = AA.Insert(AA.Length - 2, ".")
       End If

لكن اخي الكريم اعيد واكرر هذا خطأ في العمليات ابارك الله فيك اخي العزيز



(05-08-21, 08:46 PM)ahmedbezia كتب :
(04-08-21, 10:08 PM)ابراهيم ايبو كتب : اخي لايجوز ولايمكن ذلك (حسب ما اعرف) 
عملية وضع الفاصلة لتسهيل القراءة هي كل 3 خانات هذا في دوال اللغة
سأحاول ايجاد كود لماتريد ان شاء الله

السلام عليكم
تفضل اخي هذا الكود ان كنت تريد فاصلة استبدل النقطة بالفاصلة وان كنت تريد النقطة فاتركها على حالها
كود :
Private Sub TextBox1_KeyDown(sender As Object, e As KeyEventArgs) Handles TextBox1.KeyDown

       If e.KeyCode = Keys.Enter Then
           Dim AA() As Char = TextBox1.Text.ToCharArray()
           TextBox1.Text = TextBox1.Text.Substring(0, TextBox1.TextLength - 2)
           TextBox1.Text = TextBox1.Text.TrimEnd(CChar("."))
           TextBox1.Text += "." & AA(AA.Length - 2) & AA(AA.Length - 1)

       End If
   End Sub
او هذا الكود المختصر وهو من احد الاعضاء يظهر في الاوقات الحاسمة يدلي بخبرته مشكورا ويبتعد عن الانظار جزاه الله كل الخير وامد في عمره وادام عليه وافر الصحة والعافية 
الصراحة لم يخطر في بالي ال(Insert) !!!!!
كود :
If e.KeyCode = Keys.Enter Then
           Dim AA As String = TextBox1.Text
           TextBox1.Text = AA.Insert(AA.Length - 2, ".")
       End If

لكن اخي الكريم اعيد واكرر هذا خطأ في العمليات ابارك الله فيك اخي العزوما الحل با النسبة للعمليات
وما الحل اخي با النسبة للعمليات


RE: كود اضافة الفواصل العشرية - ابراهيم ايبو - 09-08-21

السلام عليكم ورحمة الله وبركاته
احي الكريم لاحل مع وجود نقطة او فاصلة فكلاهما يستعمل للفاصلة العشرية حسب مانختاره من اعدادات الويندوز
بالله عليك عندما تكتب 3000 وتصبح 30.00 ثم ادرت جمعها مع الرقم 30  هل تعلم ان النتيجة ستكون 60 بينما يجب ان تكون في الحقيقة 3030 وقس على ذلك  العمليات الحسابية وبخاصة التي فيها كسور 
لك ان تتخيل حجم الخطأ في حسابات شركة ما
لذلك قلت لك من البداية هذا امر خاطئ