تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
سؤال : هل يمكن اضافة فاصلة الوف علوية ( اعلى الارقام ) 00. 000'000'3
#1
السلام عليكم

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


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


              TextBox12.Text = FormatNumber(TextBox12.Text)


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

شكرا
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو , سعود , سعود
#2
السلام عليكم ورحمة الله وبركاته
اخي الكريم
اولا عندما نضيف الفاصلة سواء من فوق او من تحت يتحول الرقم الى نص حصرا ولايمكن اجراء العمليات الحسابية عليه
وهذه الجزئية تستخدم فقط في اظهار النتيجة النهائية للعمليات الحسابية كشكل تزييني ولتسهيل قراءة الارقام ذات الخانات الكثيرة
لذا من غير الصحيح استخدامها في حقول او مربعات ادخال سيتم عليها اجراء عمليات حسابية
بالرغم من ان الفيجوال بيسك متساهل في اجراء بعض العمليات الحسابية من مربعات الادخال وتحويلها ضمنيا دون ان نحولها نحن بالكود
اتمنى ان تكون الفكرة واضحة
اما بالنسبة لاضافة فاصلة من تحت اليك هذا الكود
كود :
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
اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد }}}
تم الشكر بواسطة: سعود , أشرف كريم 2 , mh66 , mh66 , asemshahen5 , kebboud
#3
في حقيقة الامر نعم ! 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)


   

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


كود :
       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
   

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

   

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


الملفات المرفقة
.zip   CustomNumberFormat.zip (الحجم : 11.4 ك ب / التحميلات : 25)
الرد }}}
#4
انا ارى ان  تنسيق الارقام موضوع متشعب كثيرا وتكثر عنه الاسئلة والاستفسارا 
انا ارى ان نعمل مشروع .  كل عضو في المنتدى يساهم فيه بحيث يصبح المشروع يحتوي  جميع الحالات الخاصة بتنسيق الارقام ولجميع الادوات
سورس كود برنامج محاسبة ومبيعات احترافي  -  سورس كود تطبيق ارسال رصيد من الجوال B4A
سورس كود تطبيق مبيعات للجوال
تيليجرام   Abo_anas_kahwaji@
واتساب 00963951283515
الرد }}}
تم الشكر بواسطة: asemshahen5
#5
السلام عليكم
افضل في الأغلب استخدام cdbl مع التكست بوكس في العمليات الحسابية
الرد }}}
تم الشكر بواسطة: ابو روضة



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


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