منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
سؤال : هل يمكن اضافة فاصلة الوف علوية ( اعلى الارقام ) 00. 000'000'3 - نسخة قابلة للطباعة

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



سؤال : هل يمكن اضافة فاصلة الوف علوية ( اعلى الارقام ) 00. 000'000'3 - mh66 - 04-11-21

السلام عليكم

1 - هل يوجد كود لاضافة فاصلة الوف اعلى الارقام


2 - سؤال آخر  : كيف نعيد الرقم الى طبيعته ( بدون تنسيق ) وذلك بعد تطبيق الكود 


              TextBox12.Text = FormatNumber(TextBox12.Text)


3 - هناك مشكلة مع الكود السابق فعند تطبيق كود جمع لا يجمع الارقام بشكل صحيح هل هناك حل

شكرا


RE: سؤال : هل يمكن اضافة فاصلة الوف علوية ( اعلى الارقام ) 00. 000'000'3 - ابراهيم ايبو - 04-11-21

السلام عليكم ورحمة الله وبركاته
اخي الكريم
اولا عندما نضيف الفاصلة سواء من فوق او من تحت يتحول الرقم الى نص حصرا ولايمكن اجراء العمليات الحسابية عليه
وهذه الجزئية تستخدم فقط في اظهار النتيجة النهائية للعمليات الحسابية كشكل تزييني ولتسهيل قراءة الارقام ذات الخانات الكثيرة
لذا من غير الصحيح استخدامها في حقول او مربعات ادخال سيتم عليها اجراء عمليات حسابية
بالرغم من ان الفيجوال بيسك متساهل في اجراء بعض العمليات الحسابية من مربعات الادخال وتحويلها ضمنيا دون ان نحولها نحن بالكود
اتمنى ان تكون الفكرة واضحة
اما بالنسبة لاضافة فاصلة من تحت اليك هذا الكود
كود :
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       TextBox3.Text = Val(TextBox1.Text) + Val(TextBox2.Text)
       TextBox3.Text = String.Format("{0:0,0.0}", Val(TextBox3.Text))
   End Sub



RE: سؤال : هل يمكن اضافة فاصلة الوف علوية ( اعلى الارقام ) 00. 000'000'3 - Anas Mahmoud - 05-11-21

في حقيقة الامر نعم ! Big Grin يمكنك وضع ماتريد كفاصلة للالوف وكذلك فاصلة عشرية ايضا ان اردت

الفئة NumberFormatInfo تتيح لك تشكيل ال Formating الخاص بالارقام كما تحب ، بمعنى انك تخبر اللغة كيف تريد ان تنسق ارقامك، بل يتعدى الامر الى اختيار الحروف الخاصة بعلامة الموجب والسالب والعلامة المئوية والحروف المعبرة عن الارقام نفسها ولكن هذا موضوع اخر
بل ولن تحتاج الى كتابة اي كود مخصص لتحويل الارقام يدويا الى الصورة التي تريدها اصلا الموضوع سيتم بشكل طبيعي وكان اللغة تفهم ما تريد فعلا


ببساطة لجعل علامة الالوف الى اعلى ' فان كل ما عليك فعله هو هذا 

كود :
       Dim f As New NumberFormatInfo
       f.NumberGroupSeparator = "'"

الآن استخدم f كلما اردت تحويل قيمة رقمية الى نص ( داخل ToString مثلا ) او العكس ( داخل TryParse مثلا ) 


كود التحويل يصبح 

كود :
       Dim f As New NumberFormatInfo
       f.NumberGroupSeparator = "'"

       Dim d As Double = TextBox1.Text
       TextBox2.Text = d.ToString("#,#.#", f)


[attachment=27152]

الان كود العملية العكسية وهيا تحويل النص الى رقم مرة اخرى


كود :
       Dim f As New NumberFormatInfo
       f.NumberGroupSeparator = "'"

       Dim d As Double
       If Double.TryParse(TextBox4.Text, NumberStyles.Any, f, d) Then
           TextBox3.Text = d.ToString
       End If
[attachment=27153]

للمزاح فقط ولايصال الفكرة اكثر يمكنك استخدام هذه الطريقة لجعل حروف اسمك هي فاصلة الالوف Big Grin

[attachment=27154]

رفعت المثال للفائدة


RE: سؤال : هل يمكن اضافة فاصلة الوف علوية ( اعلى الارقام ) 00. 000'000'3 - ابو انس - 06-11-21

انا ارى ان  تنسيق الارقام موضوع متشعب كثيرا وتكثر عنه الاسئلة والاستفسارا 
انا ارى ان نعمل مشروع .  كل عضو في المنتدى يساهم فيه بحيث يصبح المشروع يحتوي  جميع الحالات الخاصة بتنسيق الارقام ولجميع الادوات


RE: سؤال : هل يمكن اضافة فاصلة الوف علوية ( اعلى الارقام ) 00. 000'000'3 - yassoo1985 - 05-01-22

السلام عليكم
افضل في الأغلب استخدام cdbl مع التكست بوكس في العمليات الحسابية