ప్రధాన కంటెంట్‌కు వెళ్లండి
మాడ్యూల్ 2 · 4లో పాఠం 4కోర్సులో 8/32~8 min
మాడ్యూల్ పాఠాలు (4/4)

టైప్ మార్పిడులు

మీరు విలువ యొక్క రకాన్ని ** మార్చడానికి అన్ని సమయాలలో అవసరం: value HTML ఇన్‌పుట్ ఒక సంఖ్య, APIని సూచించినప్పటికీ స్ట్రింగ్‌గా వస్తుంది స్ట్రింగ్‌లను ఫార్మాట్‌కు అందిస్తుంది, మీరు ఒక వస్తువును టెక్స్ట్‌గా లాగ్ చేయాలి. JS ఆఫర్లు మార్పిడుల యొక్క మూడు కుటుంబాలు: స్పష్టమైన, అంకితమైన పార్సర్‌లు మరియు (ఉండాలి నివారించబడినవి) అవ్యక్తమైనవి.

స్పష్టమైన మార్పిడులు

ఇవి చాలా స్పష్టమైనవి మరియు మీ డిఫాల్ట్‌గా ఉండాలి:

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 సంఖ్యేతర వాటిని విస్మరించండి స్ట్రింగ్ యొక్క tail: అవి మొదటి చెల్లని అక్షరం వద్ద ఆగిపోతాయి.

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

సంఖ్యలను స్ట్రింగ్‌లుగా ఫార్మాట్ చేయడానికి toFixed

మునుపటి పాఠంలో క్లుప్తంగా చూసింది: N దశాంశాలకు రౌండ్లు మరియు రిటర్న్స్ a ** స్ట్రింగ్**.

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

దాన్ని తిరిగి numberకి మార్చడానికి Number(...) ఉపసర్గ లేదా unaryని ఉపయోగించండి +:

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.

ఎడిటర్ లోడ్ అవుతోంది…
సూచనను చూపించు

parseFloat 'EUR'ని విస్మరిస్తుంది; .toFixed(0) పూర్ణాంకానికి స్ట్రింగ్‌గా రౌండ్లు; సంఖ్య(...) తిరిగి సంఖ్యగా మారుస్తుంది.

3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది

వ్యాయామం సమీక్షించండి

వ్యాయామం#js.m2.l4.e2
ప్రయత్నాలు: 0లోడ్ అవుతోంది...

`n = Number('non un numero')` ఇచ్చిన, ఫలితం NaN అయితే ఒప్పు అని మూల్యాంకనం చేసే ఒకే వ్యక్తీకరణను వ్రాయండి.

ఎడిటర్ లోడ్ అవుతోంది…
సూచనను చూపించు

Number.isNaNని ఉపయోగించండి, n === NaN కాదు: NaN దానికదే సమానం కాదు.

3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది