السلام عليكم ورحمة الله
لدي برنامج يدعم تعدد العملات واريد أعرف كيف يتم معالجة المبالغ المالية بناء على العملة المختارة
مثال :
في تعريف العملات هناك اسم العملة وكود العملة ومعامل التحويل
لنفرض أننا عرفنا عملة وليكن الجنيه المصري كعملة محلية ومعامل التحويل هو 1.000000
ثم عرفنا عملة ثانية وليكن الدولار الأمريكي ومعامل التحويل هو 0.0561116
وعندي الآن مبلغ 500 دولار أمريكي اريد تحويلها للعملة المحلية فكيف ستكون معادلتها ؟
وعندي 200 جنيه مصري أريد تحويلها للدولار الأمريكي فكيف ستكون معادلتها ؟
بارك الله فيكم وجزاكم الله خيراً
التعليقات
انظر للوحدات.
عندك ج جنيه تريد تحويله إلى د دولار.
الحالة الأولى: عندك معامل تحويل م وحدته جنيه/دولار (يعني المعامل يخبرك كم جنيه في الدولار الواحد).
إذًا المعادلة د=ج/م لأن قسمة ج على م تنتج وحدة دولار (جنيه ÷ [جنيه/دولار] = دولار).
الحالة الثانية: عندك معامل تحويل م وحدته دولار/جنيه (يعني المعامل يخبرك كم دولار في الجنيه الواحد).
إذًا المعادلة د=ج×م لأن ضرب ج في م ينتج وحدة دولار (جنيه × [دولار/جنيه] = دولار).
بارك الله فيك وجزاك الله خيراً
فقط بقي سؤال وهو :
ما نوع البيانات الذي يقبل الكسور التي تبدأ برقم 0 ؟
مثال لنفرض ان محول العملة كان للدولار كما كتبته أنت 0.056 فما نوع البيانات لهذا الرقم لأنه يأتي بخطأ :
Input string was not in a correct format.
لنوع البيانات Double
المفروض أن Double يقبل هذا الرقم. ربما لو تضع الجزء الضروري من الكود المتعلق بالمشكلة يتضح الأمر.
أيضا Double ليس مناسبا لتخزين القيم المالية. أقترح فتح موضوع آخر حتى يفيدك الأعضاء بتوضيح المشكلة والبدائل في C#.
أغلب المصادر التي وجدتها تشير لاستخدام decimal للأغراض المالية.