تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] كيف أجعل البرنامج يقبل عمليات حسابية بأعداد عشرية
#7
(15-11-20, 01:42 AM)salahalmasry كتب :         Dim a, b, c As Double
        a = Val(TextBox1.Text)
        b = Val(TextBox2.Text)
        c = a / b
        TextBox3.Text = Format(Val©, "0.000")

اعذرني اخي الكريم شكرا لمساعدتك جدا ولكن وجب التنبيه الى ان استخدام Val خطأ كبير في بيئة ال .Net لانه من الاصدارات القديمة من الفيجوال بيسيك ، وهي موجودة في الاصدارات الجديدة من باب التكامل مع البرامج التي تنتقل من vb6 مثلا الى ال .Net 

الطرق المدعومة من VB.Net للتحويل من String الى Double هي : Cdbl و Convert.ToDouble و Double.Parse و  Double.TryParse

Cdbl : تقوم بعمل Cast اذا كان النوع هو double فعلا ، او تقوم باستدعاء Convert.ToDouble اذا كان من نوع اخر 
Convert.ToDouble : تقوم باعادة 0 في حالة كان المدخل null والا تستدعي Double.Parse 
https://referencesource.microsoft.com/#m...7819f63d0f
Double.Parse : تقوم باستدعاء Double.TryParse لاختبار اذا كانت عملية التحويل صالحة ام لا ، وترمي استثناء InvalidCastException في حالة لم تكن صالحة
Double.TryParse : تأخذ مدخلان هما النص المطلوب تحويله و المتغير الذي تضع فيه نتيجة التحويل ، و تعيد قيمة من Boolean تمثل هل نجحت عملية التحويل ام لا


اذا كما رأينا الامر كله يؤول الى Double.TryParse في النهاية ، لذلك اذا كنت متأكد ان المدخل من نوع String وانه ليس null استخدم Double.TryParse وفي المقابل ستستفيد من معلومة اذا كانت عملية التحويل صالحة ام لا ومن ثم تظهر رسالة مثلا للمستخدم تخبره ان مدخله غير صالح ، وهذا مالا تمكنك منه val
الرد }}}
تم الشكر بواسطة: asemshahen5


الردود في هذا الموضوع
RE: كيف أجعل البرنامج يقبل عمليات حسابية بأعداد عشرية - بواسطة Anas Mahmoud - 15-11-20, 02:29 PM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  لماذا البرنامج يتوقف بدل عرض رسالة الخطأ justforit 0 103 07-12-25, 10:22 AM
آخر رد: justforit
  كيفية حفظ إعدادات البرنامج بحيث لا تتغير أحمد إبراهيم سعد 4 3,004 06-08-25, 06:34 PM
آخر رد: Taha Okla
  [سؤال] تغيير الفورم الرئيسي عند تشغيل البرنامج في Visual Studio مع .NET 8؟ silverlord 2 654 09-03-25, 03:52 AM
آخر رد: silverlord
Rainbow [VB.NET] عدد من هم فاتحي البرنامج محمد مسافر 1 418 25-02-25, 07:58 PM
آخر رد: princelovelorn
  استفسار عن حمايه البرنامج ahmedramy 1 556 25-12-24, 11:07 PM
آخر رد: aljzazy
  مساعدة في عمل جملة الاتصال في ملف خارج البرنامج Emam emam 2 388 25-11-24, 09:24 PM
آخر رد: Emam emam
  تغيير مكان حفظ الصورة من قاعدة البيانات إلى مجلد في مسار البرنامج F.H.M 37 2,348 05-11-24, 08:30 AM
آخر رد: F.H.M
  [مثال] تشغيل البرنامج كمسؤول alswade 2 464 30-10-24, 07:08 PM
آخر رد: aliday03
  [VB.NET] كيف أجعل الأداة Listbox تعرض عمودين بدل عمود واحد mmaalmesry 6 483 15-10-24, 11:05 AM
آخر رد: Taha Okla
  كيف يمكن اضافة عناصر للكومبوبوكس اثناء تشغيل البرنامج عن طريق المستخدم haithammoftah 3 2,164 30-09-24, 12:52 AM
آخر رد: asmarsou

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


يقوم بقرائة الموضوع: