মূল কন্টেন্টে যান
মডিউল 2 · 3-এর পাঠ 4কোর্সে 7/32~10 min
মডিউল পাঠ (3/4)

সংখ্যা এবং গণিত

জাভাস্ক্রিপ্টে শুধুমাত্র একটি সংখ্যাসূচক প্রকার: number। উভয় পূর্ণসংখ্যা এবং দশমিক (floating point) সেখানে বাস করে। আলাদা কোনো int / float নেই অন্যান্য ভাষার মত।

JS
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 একটি ফাংশন নয়: এটি একটি বস্তু যার সাথে দরকারী পদ্ধতি এবং ধ্রুবক আপনি এটিকে তাত্ক্ষণিক করেন না, আপনি এটি সরাসরি ব্যবহার করেন:

JS
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 (বাদ দেওয়া) এর মধ্যে একটি দশমিক প্রদান করে। একটি পরিসরে একটি পূর্ণসংখ্যা পেতে আপনি একটি ছোট সূত্র ব্যবহার করেন:

JS
// 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-বিট উপস্থাপনা ব্যবহার করে, প্রায় সকলের সাথে ভাগ করা হয় ভাষা এটি একটি বাইনারী উপস্থাপনা, তাই কিছু দশমিক হতে পারে না ঠিক প্রতিনিধিত্ব করা হয়েছে:

JS
0.1 + 0.2; // 0.30000000000000004 (!)
0.1 + 0.2 === 0.3; // false

স্ট্যান্ডার্ড সমাধান: toFixed(n) এর সাথে রাউন্ড (যা একটি স্ট্রিং প্রদান করে) অথবা অর্থ নিয়ে কাজ করার সময় সেন্ট/হাজারে পূর্ণসংখ্যা ব্যবহার করুন:

JS
(0.1 + 0.2).toFixed(2); // '0.30' (string)
Number((0.1 + 0.2).toFixed(2)); // 0.3 (number)

চেষ্টা করে দেখুন

ব্যায়াম#js.m2.l3.e1
প্রচেষ্টা: 0লোড হচ্ছে...

ব্যাসার্ধ `r = 5` দিয়ে একটি বৃত্তের ক্ষেত্রফলকে একটি `সংখ্যা' হিসাবে দুই দশমিক স্থানে বৃত্তাকার করে গণনা করুন। `r=5` 78.54 এর জন্য প্রত্যাশিত।

সম্পাদক লোড হচ্ছে...
ইঙ্গিত দেখান

Pi এর জন্য Math.PI, সূচকের জন্য **; .toFixed(2) থেকে বৃত্তাকার, Number(...) আবার একটি সংখ্যায় রূপান্তর করতে।

সমাধান 3 প্রচেষ্টার পরে উপলব্ধ

ব্যায়াম পর্যালোচনা করুন

ব্যায়াম#js.m2.l3.e2
প্রচেষ্টা: 0লোড হচ্ছে...

তিনটি সংখ্যা 12, 7, 23 দেওয়া, শেষ অভিব্যক্তি হিসাবে সর্বাধিক এবং মিনিটের মধ্যে পার্থক্য (অর্থাৎ 16) দিন।

সম্পাদক লোড হচ্ছে...
ইঙ্গিত দেখান

Math.max এবং Math.min একাধিক কমা-বিচ্ছিন্ন আর্গুমেন্ট গ্রহণ করে।

সমাধান 3 প্রচেষ্টার পরে উপলব্ধ