اﻷعداد (Integers)
مقدمة
تحدثنا عن اﻷعداد والتعبيرات الحسابية سابقاً في عدة دروس، وفي هذا الدرس سنتعلم بعض اﻷمور المتقدمة عن الأعداد والتعبيرات الحسابية...
ترتيب العمليات الحسابية
إذا قلت لك ما ناتج العملية الحسابية 2 + 3 * 4 ماذا ستكون إجابتك..؟
لاحظ المثال التالي وناتج العملية الحسابية:
var n = 2 + 3 * 4;
console.log(n);
لماذا كان الناتج 14 ولم يكن 20؟
في الرياضيات يتم إجراء عمليات الضرب والقسمة قبل الجمع والطرح، بالتالي قام المفسر بضرب
3*4أولاً فكان الناتج12ثم جمع12+2فكان الناتج14
ولنفرض أننا نريد المفسر أن ينفذ عملية الجمع أولاً، في هذه الحالة نقوم بوضع عملية الجمع داخل أقواس () ليقوم المفسر بتنفيذ التعبير الموجود داخل اﻷقواس أولاً ثم يستخدم هذا الناتج في باقي العملية الحسابية:
var n = (2 + 3) * 4;
console.log(n);
أي شيء يوضع بداخل اﻷقواس () يتعامل معه المفسر على أنه تعبير منفصل؛ بالتالي يقوم بتنفيذه أولاً واستخدام الناتج الذي ينتج عنه...
دوال الأعداد
الدالة toFixed()
تقوم الدالة بتنسيق الأعداد واﻷعداد العشرية بحيث تقوم بتحديد عدد اﻷعداد بعد العلامة العشرية، وتأخذ مُدخل واحد هو عدد اﻷعداد بعد العلامة العشرية.
var n = 5;
console.log(n.toFixed(2));
var n = 5.2410;
console.log(n.toFixed(1));
console.log(n.toFixed(2));
5.24
تنسيق المبالغ المالية
في معظم البرامج نحتاج لعرض عدد يعبر عن مبلغ مالي، ولكن المبالغ المالية لها تنسيق خاص... حيث يكون المبلغ المالي عدداً ذا رقمين عشريين، فمثلاً 55 تكون 55.00 و 2.5 تكون 2.50 وهنا يأتي دور الدالة toFixed() حيث تستخدم بكثرة في تنسيق اﻷعداد التي تعبر عن مبالغ مالية
var price = 50;
console.log(price.toFixed(2));
ومن الممكن إضافة رمز الدولار باستخدام دمج النصوص:
var price = 50;
console.log("$" + price.toFixed(2));
الكائن Math
تأتي كل لغة برمجة بعدد من الدوال المختصة بالعمليات الحسابية مدمجة باللغة وتضم دوال لإجراء عمليات حسابية متقدمة على اﻷعداد، وفي جافاسكريبت لدينا الكائن Math الذي يضم الكثير من الدوال الحسابية.
لاحظ الحرف اﻷول من Math حرف كبير (Capital)
الدوال التي سنذكرها موجودة في معظم لغات البرمجة وغالباً بنفس اﻷسماء
أمثلة
سنستخدم الدالة min() وهي من دوال الكائن Math وتأخذ مدخلين كعددين وتقوم بإرجاع العدد اﻷصغر منهم.
console.log( Math.min(5, 2) );
أيضاً هناك الدالة max() وتقوم بعكس ما تقوم به الدالة min حيث تقوم بإرجاع العدد اﻷكبر من العددين
console.log( Math.max(5, 2) );
دوال الكائن Math
لست مطالباً بحفظ هذه الدوال لكن اعرف أن هناك دوال تقوم بهذه المهام، جربها على اﻷقل مرة واحدة وابحث عنها إذا احتاجتها لتستخدمها...
| الدالة | اﻹستخدام | مثال | الناتج |
|---|---|---|---|
| min(x, y) | إرجاع العدد اﻷصغر من عددين | Math.min(3, 10) | 3 |
| max(x, y) | إرجاع العدد اﻷكبر من عددين | Math.max(3, 10) | 10 |
| floor(x) | التحويل إلى عدد صحيح بحذف اﻷعداد العشرية | Math.floor(2.7) | 2 |
| abs(x) | القيمة المطلقة: تحول العدد السالب إلى موجب | Math.abs(-3) | 3 |
| pow(x, n) | حساب العدد اﻷول أُسّ الثاني | Math.pow(3, 2) | 9 |
| sqrt(x) | حساب الجذر التربيعي | Math.sqrt(9) | 3 |
| sqrt(x) | حساب الجذر التربيعي | Math.sqrt(9) | 3 |
المساهمين
وجدت خطأ أو تريد المساهمة في محتوى الدرس؟ عدل الصفحة على Github
