تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
كود اضافة الفواصل العشرية
#1
السلام عليكم 
با اختصار اخواني 
اريد كود التعديل علي الأرقام مثلا اذا انا كتبت في التكست بوكس الرقم 3000 بدون فواصل اريد من الكود ان يجعل هذ الرقم علي الشكر التال 30.00
الرد
تم الشكر بواسطة: ابراهيم ايبو
#2
هل الامر صعب الي هذا الحد
الرد
تم الشكر بواسطة: ابراهيم ايبو , ابو انس
#3
السلام عليكم ورحمة الله وبركاته
اخي الكريم موضوع الفاصلة بين الارقام لتسهيل القاءة انتبه له جيدا حتى لاتتم القراءة بشكل خاطئ (لااحب وضعها بين الارقام)
يجب استخدام النقطة للفاصلة العشرية لانها ستعبر عن الكسور (اختر اعداداتها من الويندوز)
اما الفاصلة العادية فيمكن استخدامها لهذا الامر
كود :
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
اعمل الخير واجرك لاتنتظره فالله خير من اليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد
تم الشكر بواسطة: ahmedbezia , kebboud
#4
مشكور اخي علي الاهتمام لاكن الكود يضع الفاصلة بعد رقم ان اريدان يضع الفاصلة في الخر رقمين مثلا اكتب 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
الرد
تم الشكر بواسطة: ابراهيم ايبو , ابو انس
#5
اخي لايجوز ولايمكن ذلك (حسب ما اعرف) 
عملية وضع الفاصلة لتسهيل القراءة هي كل 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

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







الرد
تم الشكر بواسطة: ahmedbezia
#6
(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 ارقام فقط بعد الفاصلة ؟
دمت بخير


    Heart ربي زدني علما  Heart

الرد
تم الشكر بواسطة: ابو انس
#7
(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

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







الرد
تم الشكر بواسطة:



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


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