ماڈیول اسباق (3/4)
نمبر اور ریاضی
JavaScript میں صرف ایک عددی قسم ہے: number۔ دونوں عدد عدد
اور اعشاریہ (فلوٹنگ پوائنٹ) وہاں رہتے ہیں۔ کوئی الگ نہیں int / float
دوسری زبانوں کی طرح۔
typeof 42; // 'number'
typeof 3.14; // 'number'
typeof -0.001; // 'number'
typeof Infinity; // 'number' ← Infinity is a special number
typeof NaN; // 'number' ← even "Not a Number" is a number (!)عالمی Math آبجیکٹ
Math کوئی فنکشن نہیں ہے: یہ ایک آبجیکٹ ہے جس میں مفید طریقوں اور
مستقل آپ اسے فوری نہیں کرتے، آپ اسے براہ راست استعمال کرتے ہیں:
Math.min(3, 1, 7); // 1
Math.max(3, 1, 7); // 7
Math.abs(-5); // 5
Math.round(4.5); // 5
Math.floor(4.9); // 4 (always rounds down)
Math.ceil(4.1); // 5 (always rounds up)
Math.sqrt(16); // 4
Math.pow(2, 10); // 1024 (equivalent to 2 ** 10)
Math.PI; // 3.141592653589793بے ترتیب نمبر
Math.random() 0 (شامل) اور 1 (خارج) کے درمیان اعشاریہ لوٹاتا ہے۔
ایک رینج میں عدد حاصل کرنے کے لیے آپ ایک چھوٹا فارمولا استعمال کرتے ہیں:
// Random integer between 0 and 9
Math.floor(Math.random() * 10);
// Random integer between 1 and 6 (a six-sided die)
Math.floor(Math.random() * 6) + 1;اعشاریہ کا درد (فلوٹنگ پوائنٹ)
JS IEEE-754 64 بٹ نمائندگی کا استعمال کرتا ہے، جو تقریباً سبھی کے ساتھ مشترکہ ہے۔ زبانیں یہ ایک بائنری نمائندگی ہے، اس لیے کچھ اعشاریہ نہیں ہو سکتے بالکل نمائندگی:
0.1 + 0.2; // 0.30000000000000004 (!)
0.1 + 0.2 === 0.3; // falseمعیاری حل: toFixed(n) کے ساتھ گول (جو ایک سٹرنگ لوٹاتا ہے) یا
پیسے کے ساتھ کام کرتے وقت سینٹ/ہزارویں میں عدد کا استعمال کریں:
(0.1 + 0.2).toFixed(2); // '0.30' (string)
Number((0.1 + 0.2).toFixed(2)); // 0.3 (number)اسے آزمائیں
دائرے کے رقبے کو رداس `r = 5` کے ساتھ دو اعشاریہ جگہوں پر گول کر کے ایک `نمبر` کے بطور شمار کریں۔ `r=5` کے لیے 78.54 متوقع ہے۔
اشارہ دکھائیں۔
Math.PI for pi، ** exponentiation کے لیے؛ .Fixed(2) کو گول کرنے کے لیے، نمبر(...) کو واپس نمبر میں تبدیل کرنے کے لیے۔
3 کوششوں کے بعد حل دستیاب ہے۔
ورزش کا جائزہ لیں۔
تین نمبرز 12، 7، 23 دیے گئے، آخری اظہار کے طور پر زیادہ سے زیادہ اور کم سے کم (یعنی 16) کے فرق کو لوٹائیں۔
اشارہ دکھائیں۔
Math.max اور Math.min متعدد کوما سے الگ کردہ دلائل کو قبول کرتے ہیں۔
3 کوششوں کے بعد حل دستیاب ہے۔