في هذا المثال، العملة المصدر هي اليورو والعملة الهدف هي الجنيه الإسترليني. أولاً، نحتاج إلى تحديد fromRate و toRate بالنسبة للدولار (العملة الأساسية). بما أن 1 يورو = 1.12 دولار، فهذا يعني أن 1 دولار = 1/1.12 ≈ 0.8929 يورو. ولكن inRate المعطى هو 1.12 دولار لكل يورو، أي منRate بالعكس. عادةً، inrate هي سعر عملة المصدر مقابل الأساس. لذا، إذا كان الأساس هو الدولار، فإن fromRate = 1.12 (عدد الدولارات لكل يورو). وبالمثل، toRate = 1.35 (عدد الدولارات لكل جنيه). الآن أدخل المبلغ: 2000 يورو. fromRate = 1.12, toRate = 1.35. الصيغة: الناتج = 2000 × (1.35 / 1.12) = 2000 × 1.205357 = 2410.71 جنيه إسترليني. يمكن أيضاً ملاحظة أن هذه الصيغة تقوم بتحويل اليورو إلى دولار أولاً (2000 × 1.12 = 2240 دولار) ثم تحويل الدولار إلى جنيه (2240 / 1.35 = 1659.26 جنيه). لكن النتيجة مختلفة لأن القسمة على 1.35 بدلاً من الضرب؟ خطأ! في الواقع، إذا كان لديك 2000 يورو وكل يورو = 1.12 دولار، فلديك 2240 دولار. ثم إذا كان كل دولار = 1/1.35 = 0.7407 جنيه، فتحصل على 2240 × 0.7407 = 1659.26 جنيه. وهذا هو الناتج الصحيح. لكن باستخدام الصيغة أعلاه حصلنا على 2410.71! أين الخطأ؟ الصيغة الصحيحة هي: المبلغ المحول = المبلغ × (1 / fromRate) × toRate؟ دعنا نضبط. إذا كانت fromRate هي سعر الصرف المباشر (كم وحدة من العملة الأساسية تعطي وحدة من المصدر)، فمن أجل تحويل المصدر إلى الأساس، نقسم على fromRate. ثم نحول الأساس إلى الهدف بالضرب في toRate. لذا، الصيغة: الناتج = المبلغ × (toRate / fromRate)؟ لكن إذا fromRate = 1.12 (عدد الدولارات لكل يورو)، فإن تحويل اليورو إلى دولار: المبلغ × (1 / fromRate) = 2000 / 1.12 = 1785.71 دولار. ثم تحويل الدولار إلى جنيه: 1785.71 × toRate (1.35) = 2410.71 جنيه. هذا صحيح لأن fromRate هو سعر المصدر المباشر (كم دولار تعطي مقابل يورو). لكن في المثال السابق مع الدولار كمصدر، كان fromRate = 1 (لأن 1 دولار = 1 دولار). الصيغة العامة: الناتج = amount * (toRate / fromRate) حيث fromRate هو عدد وحدات الأساس لكل وحدة مصدر. لذلك في هذا المثال، fromRate = 1.12, toRate = 1.35, حصلنا على 2410.71 جنيه. وهذا هو المبلغ الصحيح إذا أردت تحويل اليورو إلى جنيه عبر الدولار. التحقق: 2000 يورو * 1.12 = 2240 دولار، ثم 2240 دولار / 1.35 = 1659.26 جنيه؟ لا، القسمة على 1.35 تعطي 1659.26، ولكن الضرب في 1.35 يعطي 3024. أيهما الصحيح؟ في الواقع، if 1 جنيه = 1.35 دولار، فإن 1 دولار = 1/1.35 = 0.7407 جنيه. لذا تحويل 2240 دولار إلى جنيه: 2240 * 0.7407 = 1659.26 جنيه. إذن الناتج الصحيح هو 1659.26 جنيه. لكن صيغتنا أعطت 2410.71. أيهما الصحيح؟ هناك خلط في تعريف fromRate و toRate. افترضنا أن fromRate هو سعر المصدر بالنسبة للأساس (كم أساس لكل مصدر). في هذا المثال، 1 يورو = 1.12 دولار، إذن fromRate = 1.12. وtoRate هو سعر الهدف بالنسبة للأساس: 1 جنيه = 1.35 دولار، إذن toRate = 1.35. الصيغة: amount * (toRate / fromRate) = 2000 * (1.35 / 1.12) ≈ 2410.71. ولكن منطقياً، لتحويل يورو إلى جنيه، نضرب في (1.12/1.35) = 0.8296. لذا الصيغة الصحيحة هي (fromRate / toRate). لذلك يجب توخي الحذر. في الآلة الحاسبة، fromRate و toRate يمثلان عدد وحدات العملة الأساسية (مثل الدولار) لكل وحدة من العملة المعنية. لذا، لتحويل من المصدر إلى الهدف، نضرب في (fromRate / toRate) أو (1/fromRate) * toRate؟ الأفضل استخدام: المبلغ المحول = amount * (fromRate / toRate) إذا كان fromRate هو سعر المصدر (كم أساس لكل مصدر) وtoRate هو سعر الهدف (كم أساس لكل هدف). لكن في مثال الدولار إلى يورو، كان fromRate = 1 (أساس) وtoRate = 0.93 (أساس لكل يورو؟ في الواقع، إذا كان الأساس هو الدولار، فإن 1 دولار = 0.93 يورو، أي سعر الهدف هو 0.93 (كم يورو لكل دولار). هذا مختلف. لذا من الأفضل تبسيط المفهوم للمستخدم: fromRate هو سعر الصرف من العملة المصدر إلى العملة الأساسية (كم وحدة من العملة الأساسية تعطي وحدة من المصدر). وtoRate هو سعر الصرف من العملة الأساسية إلى العملة الهدف (كم وحدة من العملة الهدف تعطي وحدة من الأساس). أو العكس. لتجنب الارتباك، سأفترض في الشرح أن المستخدم يدخل سعر الصرف المباشر بين العملتين: أي كم وحدة من العملة الهدف تعادل وحدة واحدة من العملة المصدر. في هذه الحالة، fromRate = 1 (لأنها العملة المصدر نفسها) وtoRate هو سعر التحويل المباشر. ولكن إذا كانت الآلة الحاسبة تتطلب سعرين منفصلين، فهي تفترض وجود عملة أساسية مشتركة. سأتبع التعريف في مثال المستند: fromRate و toRate كلاهما بالنسبة لعملة أساسية (مثل الدولار). لذلك يجب توضيح ذلك في الخطوات. لكن في الأمثلة، سأقدم مثالين واضحين: أحدهما مع العملة الأساسية كمصدر مباشر، والآخر مع عملتين غير أساسيتين.