مرکزی مواد پر جائیں
ماڈیول 2 · سبق 4 از 4کورس میں 8/32~8 min
ماڈیول اسباق (4/4)

تبادلوں کی قسم

ہر وقت آپ کو قدر کی قسم کو تبدیل کرنے کی ضرورت ہوتی ہے: value کا ایک HTML ان پٹ سٹرنگ کے طور پر آتا ہے یہاں تک کہ اگر یہ ایک نمبر، ایک API کی نمائندگی کرتا ہے۔ سٹرنگز کو فارمیٹ میں لوٹاتا ہے، آپ کو کسی شے کو بطور ٹیکسٹ لاگ کرنے کی ضرورت ہے۔ جے ایس پیش کرتا ہے۔ تبادلوں کے تین خاندان: واضح، سرشار تجزیہ کار، اور (ہونا اجتناب شدہ) مضمر۔

واضح تبادلے۔

یہ سب سے واضح ہیں اور آپ کا ڈیفالٹ ہونا چاہئے:

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 is 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' کو نظر انداز کرتا ہے؛ .to فکسڈ(0) ایک سٹرنگ کے طور پر ایک عدد میں راؤنڈ؛ نمبر(...) واپس ایک نمبر میں بدلتا ہے۔

3 کوششوں کے بعد حل دستیاب ہے۔

ورزش کا جائزہ لیں۔

ورزش#js.m2.l4.e2
کوششیں: 0لوڈ ہو رہا ہے…

`n = نمبر('non un numero')` کو دیکھتے ہوئے، ایک واحد ایکسپریشن لکھیں جو درست ہونے کی صورت میں نتیجہ NaN ہے۔

ایڈیٹر لوڈ ہو رہا ہے…
اشارہ دکھائیں۔

Number.isNaN استعمال کریں، n === NaN نہیں: NaN خود کے برابر نہیں ہے۔

3 کوششوں کے بعد حل دستیاب ہے۔