मॉड्यूल पाठ (3/4)
संख्याएँ और गणित
जावास्क्रिप्ट में केवल एक संख्यात्मक प्रकार है: 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, ** घातांक के लिए; .toFixed(2) को गोल करने के लिए, Number(...) को वापस किसी संख्या में बदलने के लिए।
3 प्रयासों के बाद समाधान उपलब्ध है
व्यायाम की समीक्षा करें
तीन संख्याएँ 12, 7, 23 दी गई हैं, अंतिम अभिव्यक्ति के रूप में अधिकतम और न्यूनतम (अर्थात् 16) के बीच का अंतर लौटाएँ।
संकेत दिखाएँ
Math.max और Math.min एकाधिक अल्पविराम से अलग किए गए तर्क स्वीकार करते हैं।
3 प्रयासों के बाद समाधान उपलब्ध है