जेसक्रिप्ट नंबर

जेसक्रिप्ट में केवल एक ही संख्या प्रकार है。

संख्या लिखते समय छोटी दूरी लेने या नहीं लेने की आवश्यकता नहीं है。

जेसक्रिप्ट संख्या

JavaScript संख्या को लिखने के लिए दशांश वाला या नहीं वाला दोनों का इस्तेमाल किया जा सकता है:

इंस्टांस

var x = 3.14;    // दशांश वाली नंबर
var y = 3;       // बिना दशांश वाली नंबर

स्वयं आया आया

बहुत बड़ी या बहुत छोटी संख्याएं वैज्ञानिक गणना के रूप में लिखी जा सकती है:

इंस्टांस

var x = 123e5;    // 12300000
var y = 123e-5;   // 0.00123

स्वयं आया आया

JavaScript संख्या हमेशा 64 बिट के फ्लॉटिंग पॉइंट होती है

कई अन्य प्रोग्रामिंग भाषाओं के विपरीत, JavaScript अलग-अलग प्रकार की संख्याओं को परिभाषित नहीं करता, जैसे पूर्णांक, छोटे, लंबे, फ्लॉटिंग आदि।

JavaScript संख्या हमेशा डबल पॉइंट फ्लॉटिंग पॉइंट के रूप में संग्रहीत करते हैं, जो अंतर्राष्ट्रीय IEEE 754 मानक के अनुसार है。

इस फॉर्मेट में 64 बिट में संख्या संग्रहीत की जाती है, जिसमें 0 से 51 तक डिजिट (टुकड़े) संग्रहीत किए जाते हैं, 52 से 62 तक इंडेक्स संग्रहीत किए जाते हैं और 63 बिट में सिग्न संग्रहीत किए जाते हैं:

मूल्य(अर्थात् फ्रैक्शन/Mantissa) इंडेक्स सिग्न
52 bits(0 - 51) 11 bits (52 - 62) 1 bit (63)

दक्षता

पूर्णांक (गैर-एक्सपोनेंट या वैज्ञानिक गणना) 15 डिजिट तक सटीक होते हैं.

इंस्टांस

var x = 999999999999999;   // x 999999999999999 होगा
var y = 9999999999999999;  // y 10000000000000000 होगा

स्वयं आया आया

दशांश की अधिकतम संख्या 17 डिजिट है, लेकिन फ्लॉटिंग पॉइंट की गणितीय सटीकता हमेशा 100% नहीं होती:

इंस्टांस

var x = 0.2 + 0.1;         // x 0.30000000000000004 होगा

स्वयं आया आया

उपरोक्त समस्या को हल करने के लिए गुणा और विभाजन का इस्तेमाल करें:

इंस्टांस

var x = (0.2 * 10 + 0.1 * 10) / 10;       // x 0.3 होगा

स्वयं आया आया

संख्या और स्ट्रिंग को जोड़ना

चेतावनी!!

JavaScript का जोड़ना और संयोजन (concatenation) दोनों + ऑपरेटर का इस्तेमाल करते हैं.

संख्या को जोड़ने के लिए जोड़ना इस्तेमाल करें. स्ट्रिंग को संयोजन के लिए इस्तेमाल करें.

यदि आप दो संख्याओं को जोड़ते हैं, तो परिणाम एक संख्या होगा:

इंस्टांस

var x = 10;
var y = 20;
var z = x + y;           // z 30 (एक संख्या) होगा

स्वयं आया आया

दो स्ट्रिंग को जोड़ने पर, परिणाम एक स्ट्रिंग के संयोजन होगा:

इंस्टांस

var x = "10";
var y = "20";
var z = x + y;           // z 1020 (शब्दचित्र) होगा

स्वयं आया आया

यदि आप एक संख्या और एक स्ट्रिंग को जोड़ते हैं, तो परिणाम स्ट्रिंग के संयोजन होगा:

इंस्टांस

var x = 10;
var y = "20";
var z = x + y;           // z एक स्ट्रिंग होगा 1020

स्वयं आया आया

यदि आप एक शब्दचित्र और एक संख्या को जोड़ेंगे, तो परिणाम शब्दचित्र जोड़ होगा:

इंस्टांस

var x = "10";
var y = 20;
var z = x + y;           // z 1020 (शब्दचित्र) होगा

स्वयं आया आया

सामान्य गलती यह मानना है कि परिणाम 30 होना चाहिए

इंस्टांस

var x = 10;
var y = 20;
var z = "The result is: " + x + y;

स्वयं आया आया

सामान्य गलती यह मानना है कि परिणाम 102030 होना चाहिए

इंस्टांस

var x = 10;
var y = 20;
var z = "30";
var result = x + y + z;

स्वयं आया आया

JavaScript दायां से बाईं की ओर एकल रूप से संपादित करता है

क्योंकि x और y दोनों संख्या हैं, तो 10 + 20 को जोड़ा जाएगा

क्योंकि z शब्दचित्र है, तो 30 + "30" को जोड़ा जाएगा

संख्या शब्दचित्र

JavaScript शब्दचित्र में संख्या हो सकती है

var x = 100;         // x संख्या है
var y = "100";       // y शब्दचित्र है

सभी संख्या ऑपरेशनों में, JavaScript शब्दचित्र को संख्या में बदलने की कोशिश करेगा

यह उदाहरण इस तरह चलेगा:

var x = "100";
var y = "10";
var z = x / y;       // z 10 होगा

स्वयं आया आया

यह उदाहरण भी इस तरह चलेगा:

var x = "100";
var y = "10";
var z = x * y;       // z 1000 होगा

स्वयं आया आया

यह उदाहरण इस तरह चलेगा:

var x = "100";
var y = "10";
var z = x - y;      // z 90 होगा

स्वयं आया आया

लेकिन यह उदाहरण इस तरह नहीं चलेगा:

var x = "100";
var y = "10";
var z = x + y;       // z 110 नहीं होगा (वरन 10010)

स्वयं आया आया

आखिरी उदाहरण में, JavaScript ने + ऑपरेटर के साथ शब्दचित्र को जोड़ा

NaN - गैर-संख्या

NaN जैसा कि JavaScript के अवधारण की विशेषता है, यह संख्या को वैध संख्या नहीं होने के लिए संकेत करता है

एक गैर-संख्या शब्दचित्र के साथ विभाजन करने के लिए प्रयास करेंगे, तो NaN (Not a Number) मिलेगा:

इंस्टांस

var x = 100 / "Apple";  // x NaN (Not a Number) होगा

स्वयं आया आया

फिर भी, यदि शब्दचित्र में आंकड़ा है, तो परिणाम संख्या होगा:

इंस्टांस

var x = 100 / "10";     // x 10 होगा

स्वयं आया आया

आप वैश्विक JavaScript फ़ंक्शन का उपयोग कर सकते हैं isNaN() एक वालीया को संख्या है या नहीं के लिए निश्चित करने के लिए:

इंस्टांस

var x = 100 / "Apple";
isNaN(x);               // वास्तव में true बदले, क्योंकि x संख्या नहीं है

स्वयं आया आया

सावधान रहें NaNअगर आप गणितीय सूत्र में NaNतो परिणाम भी NaN

इंस्टांस

var x = NaN;
var y = 5;
var z = x + y;         // z NaN होगा

स्वयं आया आया

परिणाम आबोहवा से जुड़ा हो सकता है:

इंस्टांस

var x = NaN;
var y = "5";
var z = x + y;         // z NaN5 होगा

स्वयं आया आया

NaN एक नंबर है,typeof NaN वापस करता है number

इंस्टांस

typeof NaN;             // "number" वापस करता है

स्वयं आया आया

Infinity

Infinity (या -Infinity)यह JavaScript जब गणना के दौरान बड़े से बड़े संख्या की सीमा से बाहर आता है तो वापस करता है

इंस्टांस

var myNumber = 2;
while (myNumber != Infinity) {          // Infinity तक चलाए
    myNumber = myNumber * myNumber;
}

स्वयं आया आया

0 (शून्य) से विभाजित करने से भी Infinity

इंस्टांस

var x =  2 / 0;          // x Infinity होगा
var y = -2 / 0;          // y -Infinity होगा

स्वयं आया आया

Infinity एक नंबर है:typeOf Infinity वापस करता है number

इंस्टांस

typeof Infinity;        // "number" वापस करता है

स्वयं आया आया

दोश्रष्टक

JavaScript एक अग्रणी 0x से नंबर को 0x यह नंबर निर्देशांकों को दोश्रष्टक रूप में ताज्जीकी करता है

इंस्टांस

var x = 0xFF;             // x 255 होगा

स्वयं आया आया

कभी नंबर को अग्रणी शून्य (जैसे 07) के साथ लिखने की कोई आवश्यकता नहीं है

कुछ JavaScript संस्करण अग्रणी शून्यों से नंबर को आठशतक मानते हैं

मूलभूत रूप से, JavaScript नंबर को दसमांकी दशांश रूप में दिखाता है

लेकिन आप इसका उपयोग कर सकते हैं toString() यह मेथड नंबर को पंद्रहशतक, आठशतक या दोश्रष्टक रूप में आउटपुट करता है。

इंस्टांस

var myNumber = 128;
myNumber.toString(16);     // वापस 80 देता है
myNumber.toString(8);      // वापस 200 देता है
myNumber.toString(2);      // वापस 10000000 देता है

स्वयं आया आया

नंबर एक आबेेदन भी हो सकता है

सामान्यतया JavaScript में नंबर नापसंद बदले के माध्यम से बनाए जाते हैं: var x = 123

लेकिन इसे अभी भी क्लीवर्ड के द्वारा किया जा सकता है नया ऑब्जेक्ट के रूप में परिभाषित: var y = new Number(123)

इंस्टांस

var x = 123;
var y = new Number(123);
// typeof x नंबर रिटर्न करता है
// typeof y ऑब्जेक्ट रिटर्न करता है

स्वयं आया आया

कृपया न संख्या ऑब्जेक्ट बनाएं।इससे कार्यवाही की गति धीमी हो सकती है。

नया क्लीवर्ड को कोड को जटिल बनाता है और कुछ अप्रत्याशित परिणाम पैदा करता है:

जब आप == समान ऑपरेटर के समय, समान संख्याएँ दिखती हैं:

इंस्टांस

var x = 500;             
var y = new Number(500);
// (x == y) सही है क्योंकि x और y के मूल्य समान हैं

स्वयं आया आया

जब आप ==== समान ऑपरेटर के बाद, समान संख्याएँ असमान हो जाती हैं क्योंकि ==== ऑपरेटर को प्रकार और मूल्य दोनों के लिए समान होना चाहिए。

इंस्टांस

var x = 500;             
var y = new Number(500);
// (x === y) त्रुटि है क्योंकि x और y के प्रकार अलग हैं

स्वयं आया आया

यहाँ तक कि बेहतर भी।ऑब्जेक्ट को तुलना नहीं किया जा सकता:

इंस्टांस

var x = new Number(500);             
var y = new Number(500);
// (x == y) त्रुटि है क्योंकि ऑब्जेक्ट को तुलना नहीं किया जा सकता

स्वयं आया आया

जावास्क्रिप्ट ऑब्जेक्ट तुलना करने वाले नहीं हैं。