تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
التحكم بعدد الاعداد العشرية بعد الفاصلة
#1
السلام عليكم ورحمة الله وبركاته
اخواني لدي تكست بوكس تظهر به نتيجة حسايبة   من ضرب او جمع او غيره اريد التحكم بعد الارقام العشرية بعد الفاصلة حسب حاجتي من خلالNmeric UpDown فعند تغيير الرقم فيه بتحدد عدد الارقام بعد الفاصلةوكما في الصورة التالية علما اني استخدم فيوال بيسك 2010


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

حيث n هي النتيجة الحسايبة والتي عادة تكون من نوع Double
الرد
تم الشكر بواسطة: عبد العزيز البسكري , awidan76
#5
الف شكر استاذي الغالي وبارك الله فيك وصباحية مباركة عليك وعلى كل من تحب هذا هو المطلوب
الرد
تم الشكر بواسطة: awidan76
#6
(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

إحتراماتي
الرد
تم الشكر بواسطة: awidan76
#7
مرحبا أخي عبدالعزيز

الخاصية 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

الخلاصة أن التنسيق ستكون نتيجته نصية وهي مخصصة للعرض وليست للعمليات الحسابية
الرد
#8
السّلام عليكم و رحمة الله و بركاته
تشكر يا غالي .. إلهي يزيدك من علمه و فضله و يرزقك من حيث تحتسب و من حيث لا تحتسب
أخي الكريم .. أنت تعلم أنّ العمليات الحسابية لها حساسيّة كبيرة بالنسبة لحساب معدّلات التّلاميذ
و لذلك لو تكرّمت بالنظر في الملف المرفق فقط لكي أطوي صفحة العمليات و الأعداد العشرية من أفكاري باعتماد طريقة معيّنة
ما أريده هو .. الجمع أو القسمة أو الضرب أو الطّرح يكون الجزء العشري النّاتج دائمًا برقميْن بعد الفاصلة و الجزء الصّحيح يكون برقمين ..
مثلا 2.25 + 7.11 = 9.36
النتيجة أريدها أن تظهر بهذا الشّكل ( 09.36 )
بارك الله فيك و لك مقدّمًا و جزاك خير الجزاء
إحتراماتي


الملفات المرفقة
.rar   العمليات الحسابية.rar (الحجم : 71.95 ك ب / التحميلات : 93)
الرد
تم الشكر بواسطة:
#9
تحتاج فقط لهذا الكود
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 بالتنسيق المطلوب
فالأقواس لها دور في الترتيب المطلوب تنفيذه



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



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


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