منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[نقاش] بخصوص خصم مبلغ الضريبة من السعر - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : [نقاش] بخصوص خصم مبلغ الضريبة من السعر (/showthread.php?tid=47843)



بخصوص خصم مبلغ الضريبة من السعر - h2551996 - 24-01-24

السلام عليكم ورحمة الله وبركاته
سؤال اليوم بخصوص ضريبة القيمة المضافة

المبلغ 80 دولار شامل قيمة الضريبة  وهي نسبتها 15%
عند خصم قيمة الضريبة يكون الرقم الناتج هو ( 69.5652173914)

المعضلة والمشكلة هي عند حساب قيمة ضريبة المبلغ وهي ( 69.5652173914 * 15% )
يكون الاجمالي هو ( 80.0000000001 )

مثال اخر
80 + 50 = 130
ضريبة الـ 80 هي ( 10.4347826086 ) ( 69.5652173914 )
ضريبة الـ 50 هي ( 6.52173913043) ( 43.4782608696 )
يكون الاجمالي هو (130.00000000003)  وليس (130)
حاولت كثير ( وفي كل مرة ) 
يقوم احد الزملاء او المواقع بارسال الارقام مختلفة
ولكن النتيجة واحدة وهو ان القيمة لا تظهر صحيحة
علما اني استخدم هذا الكود      المبلغ × قيمة الضريبة / 100      واخر مختصر المبلغ / 1.15


RE: بخصوص خصم مبلغ الضريبة من السعر - تركي الحلواني - 24-01-24

افضل الثبات على 

PHP كود :
 ' المبلغ الأصلي
  Dim amount As Double = 80

  ' 
نسبة الضريبة
  Dim taxRate 
As Double 1.15

  
' حساب الضريبة
  Dim tax As Double = amount / taxRate
  ' 
 طباعة الإجمالي دون الضريبة
  MsgBox
(tax)
 
 ' حساب الإجمالي 
  Dim total As Double = tax * taxRate

  ' 
طباعة الإجمالي
  MsgBox
(total



RE: بخصوص خصم مبلغ الضريبة من السعر - Taha Okla - 24-01-24

هل هذا الرقم (69.5652173914 ) منطقي ؟؟
لما نتحدث عن عملة ، مثلا العملة السعودية فعندنا : ريال، وهللة، وبعد هذه الأرقام لايوجد سوى الصفر ..
وحتى لو طالبت الهيئة بالفواصل لن تطلب فوق ذلك بأكثر من خانتين أو ثلاثة إضافية بعد الفاصلة.. وليس كل هذا الرقم
فقرب أرقامك لهذا المستوى(الذي تعترف به الهيئة)، وتجاهل الباقي..

مثلاً :
- لو الهيئة تطالب إظهار الرقم الثالث بعد الفاصلة  :
فأجعل برنامجك يخزن الرقم الرابع بعد الفاصلة  : وعند العرض والطباعة قرب للرقام الثالث .. 


- وإن كانت الهيئة تطالب بإظهار الرقم الثاني بعد الفاصلة :
فأجعل برنامجك يخزن الرقم الثالث بعد الفاصلة  : وعند العرض والطباعة قرب للرقام الثاني.. 

بهذه تتخلص من الأرقام بالخانة الأخيرة  بالجبر للأعلى أو الأدنى بحسب التقريب

وبالتالي تصبح مجاميع أرقامك صحيحة ..


RE: بخصوص خصم مبلغ الضريبة من السعر - h2551996 - 24-01-24

(24-01-24, 12:41 PM)تركي الحلواني كتب : افضل الثبات على 

PHP كود :
 ' المبلغ الأصلي
  Dim amount As Double = 80

  ' 
نسبة الضريبة
  Dim taxRate 
As Double 1.15

  
' حساب الضريبة
  Dim tax As Double = amount / taxRate
  ' 
 طباعة الإجمالي دون الضريبة
  MsgBox
(tax)
 
 ' حساب الإجمالي 
  Dim total As Double = tax * taxRate

  ' 
طباعة الإجمالي
  MsgBox
(total

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

(24-01-24, 12:50 PM)Taha Okla كتب : هل هذا الرقم (69.5652173914 ) منطقي ؟؟
لما نتحدث عن عملة ، مثلا العملة السعودية فعندنا : ريال، وهللة، وبعد هذه الأرقام لايوجد سوى الصفر ..
وحتى لو طالبت الهيئة بالفواصل لن تطلب فوق ذلك بأكثر من خانتين أو ثلاثة إضافية بعد الفاصلة.. وليس كل هذا الرقم
فقرب أرقامك لهذا المستوى(الذي تعترف به الهيئة)، وتجاهل الباقي..

مثلاً :
- لو الهيئة تطالب إظهار الرقم الثالث بعد الفاصلة  :
فأجعل برنامجك يخزن الرقم الرابع بعد الفاصلة  : وعند العرض والطباعة قرب للرقام الثالث .. 


- وإن كانت الهيئة تطالب بإظهار الرقم الثاني بعد الفاصلة :
فأجعل برنامجك يخزن الرقم الثالث بعد الفاصلة  : وعند العرض والطباعة قرب للرقام الثاني.. 

بهذه تتخلص من الأرقام بالخانة الأخيرة  بالجبر للأعلى أو الأدنى بحسب التقريب

وبالتالي تصبح مجاميع أرقامك صحيحة ..

اكيد ان الرقم تم تصحيحه الى 0.00 
ولكن المعضلة ان المبلغ غير صحيح
وبهيئة الذكاة يرسل لك فاتورة بمبلغ شامل الضريبة وقيمة الضريبة
وعند الحساب على آلة حاسبة خارجية
او عن طريق كود
لا يظهر نفس المبلغ في كل مرة
كمثال بسيط
100 / 1.15 = 86.86.96
200 / 1.15 = 173.91
ليست كل النواتج تظهر بنفس المبلغ مطابق


RE: بخصوص خصم مبلغ الضريبة من السعر - Taha Okla - 24-01-24

عندما تعمل على برنامج لا تحتاج آلة حاسبة ..
بالنسبة لمثالك . قلت لك خزن خانة إضافية وقرب للخانة المطلوبة..
هم بدهم خانتين - أنت خزن ثلاثة في برنامجك
والعرض والعمليات يكون بالتقريب لخانتين ..

100 / 1.15 = 86.957
200 / 1.15 = 173.913
الضريبة :
100× 0.15 / 1.15 = 13.043

200× 0.15 / 1.15 = 26.087

هذه الأرقام التي ستخزنها :
بينما الأرقام التي ستعرضها بعد التقريب .. :
86.957   = بعد التقريب = 86.96
173.913  = بعد التقريب = 173.91
بالنسبة للضريبة تصبح بعد التقريب: 
13.043   = بعد التقريب = 13.04
26.087   = بعد التقريب = 26.09

هل المجاميع تصبح صحيحة الآن كما تريد أم لازلت تراها غير ذلك ؟؟؟


RE: بخصوص خصم مبلغ الضريبة من السعر - h2551996 - 24-01-24

(24-01-24, 01:36 PM)Taha Okla كتب : عندما تعمل على برنامج لا تحتاج آلة حاسبة ..
بالنسبة لمثالك . قلت لك خزن خانة إضافية وقرب للخانة المطلوبة..
هم بدهم خانتين - أنت خزن ثلاثة في برنامجك
والعرض والعمليات يكون بالتقريب لخانتين ..

100 / 1.15 = 86.957
200 / 1.15 = 173.913
الضريبة :
100× 0.15 / 1.15 = 13.043

200× 0.15 / 1.15 = 26.087

هذه الأرقام التي ستخزنها :
بينما الأرقام التي ستعرضها بعد التقريب .. :
86.957   = بعد التقريب = 86.96
173.913  = بعد التقريب = 173.91
بالنسبة للضريبة تصبح بعد التقريب: 
13.043   = بعد التقريب = 13.04
26.087   = بعد التقريب = 26.09

هل المجاميع تصبح صحيحة الآن كما تريد أم لازلت تراها غير ذلك ؟؟؟


جيد كل ما ذكرته استاذ طه
لكن بنفس طريقة الحساب
حاول ان تنفذ هذه العملية على المبلغ ( 80 )
80 / 1.15 = (69.5652173914) بعد الريب تصبح ( 69.565 )  قيمة الضريبة ( 10.4347826086 ) بعد التقريب تصبح ( 10.434 )
50 / 1.15 = ( 43.4782608696 ) بعد التقريب تصبح ( 43.478 ) قيمة الضريبة ( 6.52173913043 ) بعد التقريب ( 6.521 )
بعد جمع الرقمين ( 69.5652173914+ 10.4347826086 = 80) ( 43.4782608696  + 6.52173913043  = 50.00000000003)


RE: بخصوص خصم مبلغ الضريبة من السعر - Taha Okla - 24-01-24

هذا الرقم  (10.4347826086) بعد التقريب يصبح (10.435)  وليس (10.434)
وهذا الرقم ( 6.52173913043 ) بعد التقريب يصبح (6.522) وليس ( 6.521 )

بالتالي إن جمعتها مع ضريبتها المقربة تصبح النتيجة صحيحة ...


تأكد من استخدام الأكواد الصحيحة في التقريب ..

جرب باستخدام هذه الدالة (Math.Round) وليس أي شيء..