मुख्य सामग्री पर जाएं
मॉड्यूल 2 · पाठ 4 का 4पाठ्यक्रम में 8/32~8 min
मॉड्यूल पाठ (4/4)

रूपांतरण टाइप करें

हर समय आपको किसी मान के प्रकार को बदलने की आवश्यकता होती है: value एक HTML इनपुट एक स्ट्रिंग के रूप में आता है, भले ही वह एक संख्या, एक एपीआई का प्रतिनिधित्व करता हो स्ट्रिंग को फ़ॉर्मेट में लौटाता है, आपको किसी ऑब्जेक्ट को टेक्स्ट के रूप में लॉग करना होगा। जेएस ऑफर करता है रूपांतरणों के तीन परिवार: स्पष्ट, समर्पित पार्सर, और (होना)। टाला गया) अंतर्निहित।

स्पष्ट रूपांतरण

ये सबसे स्पष्ट हैं और आपका डिफ़ॉल्ट होना चाहिए:

JS
Number('42'); // 42
Number('3.14'); // 3.14
Number(''); // 0     ← careful
Number('  10 '); // 10     (spaces are ignored)
Number('ciao'); // NaN    ← does not represent a number

String(42); // '42'
String(true); // 'true'
String(null); // 'null'
String(undefined); // 'undefined'

Boolean(1); // true
Boolean(0); // false
Boolean(''); // false
Boolean('abc'); // true

parseInt और parseFloat: सहिष्णु पार्सर

Number(...), parseInt और parseFloat के विपरीत गैर-संख्यात्मक को अनदेखा करें स्ट्रिंग की पूँछ: वे पहले अमान्य वर्ण पर रुकते हैं।

JS
Number('42px'); // NaN
parseInt('42px'); // 42
parseFloat('3.14em'); // 3.14
parseInt('   12 anni'); // 12
parseInt('ciao12'); // NaN  ← must start with digits

संख्याओं को स्ट्रिंग के रूप में प्रारूपित करने के लिए toFixed

पिछले पाठ में संक्षेप में देखा गया: एन दशमलव तक पूर्णांक और रिटर्न ए स्ट्रिंग.

JS
(3.14159).toFixed(2); // '3.14'
(1).toFixed(2); // '1.00'

इसे वापस number में बदलने के लिए Number(...) उपसर्ग या यूनरी का उपयोग करें +:

JS
Number((3.14159).toFixed(2)); // 3.14
+(3.14159).toFixed(2); // 3.14

NaN: वह मान जो काटता है

NaN ("कोई संख्या नहीं") संख्यात्मक परिचालनों द्वारा निर्मित होता है जो विफल हो जाते हैं:

JS
Number('ciao'); // NaN
0 / 0; // NaN
parseInt('xxx'); // NaN

विशेषताएँ:

  • इसका प्रकार 'number' है (हां, "गैर-संख्या" एक संख्या है)
  • यह स्वयं के बराबर नहीं है: NaN === NaN false है
  • इसका परीक्षण करने के लिए फ़ंक्शन का उपयोग करें Number.isNaN(x)
JS
const x = Number('ciao');
x === NaN; // false (!)
Number.isNaN(x); // true

इसे अजमाएं

व्यायाम#js.m2.l4.e1
प्रयास: 0लोड हो रहा है...

स्ट्रिंग '128.95 EUR' को देखते हुए, (दशमलव) संख्या निकालें और इसे निकटतम पूर्णांक तक गोल करें, इसे एक संख्या के रूप में लौटाएं। अपेक्षित: 129.

संपादक लोड हो रहा है...
संकेत दिखाएँ

पार्सफ़्लोट 'EUR' को अनदेखा करता है; .toFixed(0) एक स्ट्रिंग के रूप में पूर्णांक तक चक्कर लगाता है; Number(...) वापस एक संख्या में परिवर्तित हो जाता है।

3 प्रयासों के बाद समाधान उपलब्ध है

व्यायाम की समीक्षा करें

व्यायाम#js.m2.l4.e2
प्रयास: 0लोड हो रहा है...

`n = Number('non un numero')` दिया गया है, एक एकल अभिव्यक्ति लिखें जो परिणाम NaN होने पर सत्य का मूल्यांकन करता है।

संपादक लोड हो रहा है...
संकेत दिखाएँ

Number.isNaN का उपयोग करें, n === NaN का नहीं: NaN स्वयं के बराबर नहीं है।

3 प्रयासों के बाद समाधान उपलब्ध है