منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : التحكم بعدد الاعداد العشرية بعد الفاصلة
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2 3
السلام عليكم ورحمة الله وبركاته
اخواني لدي تكست بوكس تظهر به نتيجة حسايبة   من ضرب او جمع او غيره اريد التحكم بعد الارقام العشرية بعد الفاصلة حسب حاجتي من خلالNmeric UpDown فعند تغيير الرقم فيه بتحدد عدد الارقام بعد الفاصلةوكما في الصورة التالية علما اني استخدم فيوال بيسك 2010
توجد خاصية اسمها DecimalPlaces حدد فيها عدد الأرقام العشرية بعد الفاصلة
اخي العزيز شكراًً على سرعة الرد ولكني احتاج في بعض الاحيان رقمين واخرى ثلاثة ارقام حسب حاجتي الحسابية
عفوا، لم أركز في المطلوب
PHP كود :
TextBox1.Text FormatNumber(nNumericUpDown1.Value

حيث n هي النتيجة الحسايبة والتي عادة تكون من نوع Double
الف شكر استاذي الغالي وبارك الله فيك وصباحية مباركة عليك وعلى كل من تحب هذا هو المطلوب
(14-01-18, 10:19 AM)طالب برمجة كتب : [ -> ]توجد خاصية اسمها DecimalPlaces حدد فيها عدد الأرقام العشرية بعد الفاصلة



السّلام عليكم و رحمة الله و بركاته
بارك الله فيك و لك و جزاك خير الجزاء أخي الكريم " طالب برمجة " لما تبذله من جهد كبير في سبيل مساعدة و تنوير درب المبتدئين أمثالي ..
بعد إذن صاحب الموضوع ..
في سياق نفس الموضوع .. لو سمحت و تكرّمت ..
1 - أين أجد الخاصيّة DecimalPlaces
2 - لديَّ هذا الكود لتحديد عدد الأرقام العشرية بعد الفاصلة .. و جدته بالصدفة .. لو سمحت : هل هو صحيح من حيث الكتابة البرمجية
لأنّي أحيانا أجد (  "#,##0.00" ) و أحيانا أجد ( "00.00" ) و أحيانا أجد كتابات أخرى .. فأيهم أصح الله يرضى عليك و على والديك ..
كود :
   Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
       TextBox3.Text = Val(Replace(TextBox1.Text, ",", ".")) / Val(Replace(TextBox2.Text, ",", "."))
       TextBox3.Text = Format(Val(TextBox3.Text), "#,##0.00")
   End Sub
   Private Sub TextBox2_TextChanged(sender As Object, e As EventArgs) Handles TextBox2.TextChanged
       TextBox3.Text = Val(Replace(TextBox1.Text, ",", ".")) / Val(Replace(TextBox2.Text, ",", "."))
       TextBox3.Text = Format(Val(TextBox3.Text), "#,##0.00")
   End Sub

إحتراماتي
مرحبا أخي عبدالعزيز

الخاصية DecimalPlaces هذه تخص الأداة NumericUpDown

نأتي للكود يللي من حضرتك
Replace الموجود في الكود يحذف فواصل الآلاف من أجل تطبيق عملية حسابية
فواصل الألاف يظهرها كود تنسيق عند مغادرة TextBox (غير موجود في الكود الظاهر) وهو
PHP كود :
Private Sub TextBox1_LostFocus(ByVal sender As ObjectByVal e As System.EventArgsHandles TextBox1.LostFocus
    TextBox1
.Text Format(Val(TextBox1.Text), "#,##0.00")
End Sub
Private Sub TextBox2_LostFocus(ByVal sender As ObjectByVal e As System.EventArgsHandles TextBox2.LostFocus
    TextBox2
.Text Format(Val(TextBox2.Text), "#,##0.00")
End Sub 

التنسيق #,##0.00 يحتوي جزئين أحدهم #,## هو لوضع فواصل الآلاف والأخر 0.00 لوضع كسر عشري من رقمين
التنسيق 00.00 هو ليكون الرقم الصحيح لا يقل عن رقمين بحيث رقم واحد سيضع صفر مكان العشرات بالاضافة الى كسر عشري من رقمين ولكن

هناك دالة بديله وهو FormatNumber
وفي الدت نت تستطيع استخدام التنسيق داخل ToString مثل
PHP كود :
Dim n As Double 1234.5
Dim s 
As String n.ToString("#,##0.00")
MsgBox(s

الخلاصة أن التنسيق ستكون نتيجته نصية وهي مخصصة للعرض وليست للعمليات الحسابية
السّلام عليكم و رحمة الله و بركاته
تشكر يا غالي .. إلهي يزيدك من علمه و فضله و يرزقك من حيث تحتسب و من حيث لا تحتسب
أخي الكريم .. أنت تعلم أنّ العمليات الحسابية لها حساسيّة كبيرة بالنسبة لحساب معدّلات التّلاميذ
و لذلك لو تكرّمت بالنظر في الملف المرفق فقط لكي أطوي صفحة العمليات و الأعداد العشرية من أفكاري باعتماد طريقة معيّنة
ما أريده هو .. الجمع أو القسمة أو الضرب أو الطّرح يكون الجزء العشري النّاتج دائمًا برقميْن بعد الفاصلة و الجزء الصّحيح يكون برقمين ..
مثلا 2.25 + 7.11 = 9.36
النتيجة أريدها أن تظهر بهذا الشّكل ( 09.36 )
بارك الله فيك و لك مقدّمًا و جزاك خير الجزاء
إحتراماتي
تحتاج فقط لهذا الكود
PHP كود :
Private Sub TextBox1_TextBox2_TextChanged(ByVal sender As ObjectByVal e As EventArgs_
Handles TextBox1
.TextChangedTextBox2.TextChanged
    TextBox3
.Text = (Val(TextBox1.Text) + Val(TextBox2.Text)).ToString("00.00")
End Sub 
لا تحتاج لكود Replace(TextBox1.Text, ",", ".") لأنك لم تعمل تنسيق لمربع النص الأول الثاني

تلاحظ أنه تم تحويل النص الى قيمة لكل أداة بواسطة Val
ثم وضعت العملية الحسابية داخل أقواس () لأطبق على الناتج ToString بالتنسيق المطلوب
فالأقواس لها دور في الترتيب المطلوب تنفيذه



لكن كما ذكرت لك أن التنسيق للعرض فقط ولا يستغل ما فيما بعد للعميات الحسابية
السّلام عليكم و رحمة الله و بركاته
باسم الله .. ما شاء الله .. تبارك الله
تمام التّمام و لله الحمد و الشّكر .. إلهي يرزقك من خيرات و طيّبات الدّاريْن إن شاء الله
فائق الشّكر و التّقدير و الاحترام و الامتنان لك و لجميل إبداعاتك
تحياتي
الصفحات : 1 2 3