![]() |
|
[VB.NET] أفضل و أحسن كود يمكنني إستخدامه في الحسابات الفواتير - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182) +--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183) +--- الموضوع : [VB.NET] أفضل و أحسن كود يمكنني إستخدامه في الحسابات الفواتير (/showthread.php?tid=36469) الصفحات:
1
2
|
أفضل و أحسن كود يمكنني إستخدامه في الحسابات الفواتير - sniperjawadino - 20-09-20 سلام إخواني ما هو أفضل و أحسن كود يمكنني إستخدامه في الحسابات الفواتير مثلا حتى لا أقع في مشاكل في الأرقام مثلا الأرقام السلبية و العشرية و الأرقام الكبيرة ... كما تعلمون فإن حساب الفاتورة يجب أن يكون دقيق و وضع الرقم العشري أرجوا أن تتكرمو بنصحي كود : TextBox1.Text = Format(Val(Text_TTC.Text / (1 + Text_TVA.Text / 100)), "0.00")كود : TextBox1.Text = Format(CDbl(Text_TTC.Text / (1 + Text_TVA.Text / 100)), "0.00")RE: أفضل و أحسن كود يمكنني إستخدامه في الحسابات الفواتير - Anas Mahmoud - 20-09-20 هل المشكلة مدخلات مربع النص ؟ اذا كنت تريد ان تحصل على قيمة رقمية من مربع النص يمكنك استخدام TryParse او الافضل TryParse مع Validating RE: أفضل و أحسن كود يمكنني إستخدامه في الحسابات الفواتير - Mohamad Anan - 20-09-20 و عليكم السلام و رحمة الله و بركاته حسب علمي النتيجة واحدة من حيث الدقة فتيجة الدالة في الحالتين متغير من نوع Double هناك فرق بين Val و CDbl و هو Val تأخذ وقت أكثر في التنفيذ و تحويل النص لرقم و لا تقبل الفاصلة و تقبل النص الفارغ تكون النيجة في Val هي الأرقام قبل أول حرف و تفيد عند ذكر العملة بعد الرقم CDbl تفترض أن الرقم المرر رقم و هي أفضل و اسرع في الاستخدام مع انعدام ملاحظة الفرق لسرعة المعالجات كود : Val("1,112.12$") REM = 1RE: أفضل و أحسن كود يمكنني إستخدامه في الحسابات الفواتير - sniperjawadino - 20-09-20 (20-09-20, 08:17 PM)Anas Mahmoud كتب : هل المشكلة مدخلات مربع النص ؟ المشكلة فقط في الخوف من دالة قد تحدث لي أخطاء في حسابات الفواتير خصوصا في الأرقام بالفواصل مثلا هل يمكن أن توضح لي أكثر TryParse (20-09-20, 09:55 PM)Mohamad Anan كتب : و عليكم السلام و رحمة الله و بركاته أخي محمد بعد ملاحضة هده الأمثلة هل تنصحني بإستخدام Cdbl مع عدم جعل المستخدم يضع قيمة فارغة وهل هدا الكود جيد لأحصل على الفواصل كود : TextBox1.Text = Format(CDbl(11.11), "0.00")RE: أفضل و أحسن كود يمكنني إستخدامه في الحسابات الفواتير - Anas Mahmoud - 20-09-20 TryParse تقوم بتحويل النصوص String الى اي نوع بيانات Double مثلا ، ولكنها تعيد قيمة من نوع Boolean اذا ما نجحت العملية ام لا وهي اختيارك المناسب فعلا ، تتحقق من المدخلات وفي نفس الوقت لاتقلق ، هي تقبل اي صيغة مناسبة طبقا لاعدادات الجهاز كود : Dim TVA,TTC As Doubleوجب التنبيه ايضا انه لا يجب عليك استخدام Val او Cdbl ابدا ، هذا ليس استخدامهم اطلاقا Val تأخذ ارقام واول ما تجد حرف تتوقف ، لاتعلمك اذا كان النص صالح ام لا cdbl استخدامها الطبيعي في التحويل من رقم الى اخر ، وقد تقبل اي نوع بيانات ليست مخصصة للنصوص فقط كنت تكلمت عن TryParse هنا RE: أفضل و أحسن كود يمكنني إستخدامه في الحسابات الفواتير - Mohamad Anan - 20-09-20 (20-09-20, 10:18 PM)sniperjawadino كتب : أخي محمد بعد ملاحضة هده الأمثلة مرحبا أخي الكريم بالنسبة للتأكد من مدخلات المستخدم كما تفضل أخي أنس يمكن استخدام TryParse أو التأكد بالدالة IsNumeric من ادخال رقم او حتى اجبار المستخدم على ادخال ارقام و منعه من ادخال حروف أما جوهر سؤالك المتعلق بالدقة فالتنسيق الذي ذكرته لن يؤدي الى نتائج دقيقة مثال: 10 / 3 = 3.33 3.33 * 3 = 9.99 أما 3.333333333333334 * 3 = 10 و الخلاصة عادة نستخدم التنسيق عند عرض القيمة فقط و نخزن القيمة دون تنسيق في قاعدة البيانات لأدق النتائج هذا و الله أعلم RE: أفضل و أحسن كود يمكنني إستخدامه في الحسابات الفواتير - Mohamad Anan - 21-09-20 مرحبا أخي إضافة لما سبق فالتنسيق الحديث للأرقام يضع فاصلة كل 3 اعداد باستخدام حرف N متبوعا بعدد المنازل العشرية كود : TextBox1.Text = CDbl("-1111111.11111").ToString("N3")لهذا الافضل استخدام دالة CDbl و التنسيق بالطريقة الحديثة اوضح في قراءة الرقم RE: أفضل و أحسن كود يمكنني إستخدامه في الحسابات الفواتير - عبد الهادي بهاب - 21-09-20 نفاش جد رائع ...متابع معكم و نتعلم RE: أفضل و أحسن كود يمكنني إستخدامه في الحسابات الفواتير - Anas Mahmoud - 21-09-20 هذه لا تقدر عليها CDbl كود : Dim d As Doublehttps://docs.microsoft.com/en-us/dotnet/api/system.decimal.parse?redirectedfrom=MSDN&view=netcore-3.1#System_Decimal_Parse_System_String_System_IFormatProvider_ RE: أفضل و أحسن كود يمكنني إستخدامه في الحسابات الفواتير - Mohamad Anan - 21-09-20 إضافة لما سبق لتنسيق الرقم على انه عملة نكتب C متبوعا بعدد المنازل العشرية كود : TextBox1.Text = CDbl("-1111111.11111").ToString("C2")و الدالة CDbl يمكنها ايضا التعامل مع تنسيق العملة الصحيح مثل الدالة IsNumeric مع ملاحظة التالي رمز العملة يختلف من مستخدم لمستخدم حسب اعدادات النظام و أيضا في حال السماح للمستخدم بإدخال الحروف قد يكتب تنسيق غير صحيح أما اذا كان التنسيق يتم برمجيا فيمكن استخدام CDbl و الله اعلم |