محمدرضا حاجی مقصودی
محمدرضا حاجی مقصودی
خواندن ۶ دقیقه·۴ سال پیش

اعداد در جاوا اسکریپت (Numbers) - قسمت ۷

https://www.aparat.com/v/YbmcE

آموزش رایگان جاوا اسکریپت

اعداد یا Numbers یکی از انواع داده ای بود که در جلسه ششم از دوره مقدماتی جاوا اسکریپت راجع به آن صحبت کردیم. در برنامه نویسی و به خصوص زبان برنامه نویسی جاوا اسکریپت اعداد نقش مهمی دارند و علاوه بر کاربردی که در ریاضیات دارند، متد های زیادی برای کار با اعداد در جاوا اسکریپت وجود دارد.

اعداد در جاوا اسکریپت (NUMBERS)

اعداد در جاوا اسکریپت فقط یک نوع هستش و همان طور که در جلسه انواع داده گفتیم اعداد به دو شکل Integer و Float در متغیر قرار میگیرد. به اعداد صحیح integer و به اعداد اعشار float می گوین تعریف کرد. البته اعداد خیلی بزرگ یا خیلی کوچک را با نماد علمی (e) هم نشان میدهیم.  اعداد در جاوا اسکریپت همیشه ۶۴بیت از حافظه را اشغال میکنند. اعداد تا ۱۵ رقم صحیح و ۱۷ رقم اعشار قابل تعریف و نمایش در جاوا اسکریپت هستند.

قسمت قبل: انواع داده در جاوا اسکریپت
اعداد در جاوا اسکریپت
اعداد در جاوا اسکریپت

جمع عدد و رشته چی میشه؟

یکی از عملگرهایی که در جلسه پنجم یاد گرفتیم، عملگر (+) (Plus) بود که کار جمع اعداد را انجام میداد. اما زمانی که یک عدد با یک رشته را جمع کنیم چه میشود؟؟؟ بیاید تست کنیم.

var a = 10; // Number var b = &quotMEGAJS" // String var z = a + b; // typeof Z is String // output: &quot10MEGAJS&quot

بله! همونطور که دیدید ما تونستیم یک عدد را با یک کلمه جمع کنیم!!! و خروجی به این صورته که عدد و رشته را به صورت یک رشته کنار هم قرار میدهد.

رشته های عددی در جاوا اسکریپت

رشته ها (Strings) در جاوا اسکریپت میتواند شامل اعداد باشد و به رشته هایی که داخل آن فقط عدد باشد، رشته عددی میگویند. به مثال توجه کنید:

var x = 125; // Number var x = &quot125" // String
جلسه بعد:  رشته ها در جاوا اسکریپت

NAN یا Not a Number چیست؟

NaN یکی از کلمات رزرو شده جاوا اسکریپت است و زمانی که شما یک عملیات ریاضی مثل ضرب و تقسیم (به جز جمع) بین دو متغیر که یکی عدد است اما دیگری عدد نیست انجام دهید و از متغیر نهایی typeof بگیرید با عبارت NaN روبه رو میشوید.

Var x = 100; // Number var y = &quotMegajs" // String var z = x / y; // NaN (Not a Number)
نکته: اگر رشته مورد نظر از نوع رشته عددی باشد، همه چیز درست کار میکند.
Var x = 200; // Number var y = &quot5" // String var z = x / y; // Number // output: 40

حالت بی نهایت در جاوا اسکریپت

بی نهایت یا infinity زمانی رخ میدهد که یک عمل مانند تقسیم عددی بر صفر صورت بگیره یا جواب نهایی خیلی خیلی بزرگ باشه. البته شما میتونید که از خود کلمه infinity در جاوا اسکریپت استفاده کنید، مثبت بی نهایت (infinity) و منفی بی نهایت (infinity-)
مثلا در پیاده سازی عبارات شرطی بسیار کاربرد دارد.

var x = 2 / 0; // x will be Infinity var y = -2 / 0; // y will be Infinity

متدهای اعداد در جاوا اسکریپت (NUMBERS METHODS)

متدهای عددی در جاوا اسکریپت به ما کمک میکنند تا کارایی بیشتر و بهتری با اعداد داشته باشیم. با استفاده از متد اعداد در جاوا اسکریپت شما میتونید حتی اعداد ساده با مقادیر ابتدایی مثل: x=2019 را به Object تبدیل کنیدو از خواص و متدهای مختلف استفاده کنید تا به هدف مورد نظر برسید.
متد تبدیل عدد به رشته در جاوا اسکریپت

متد ()toString

با متد ()toString همین طور که از اسمش معلومه اعداد را به رشته تبدیل میکنه. این متد برای تمام اعداد کار میکنه.

var x = 2019; // Number output: 2019 x.toString(); // String output: &quot2019&quot (2019).toString() // String output: &quot2019&quot (2019+1).toString() // String output: &quot2020&quot

متد اعداد اعشاری در جاوا اسکریپت

متد ()toFixed

متد ()toFixed محدوده اعداد بعد از اعشار رو نشون میده. در واقع عددی که بین دو پرانتز بذاریم تعیین میکنه که تا چند رقم بعد اعشار اعداد را برای ما برگردونه (returns)

var x = 2.951357; x.toFixed(0); // returns 3 x.toFixed(2); // returns 2.95 x.toFixed(4); // returns 3.9513 x.toFixed(8); // returns 3.95135700
از اعشار دو رقم برای قیمت محصول دلاری معمولا استفاده میشود

متد محدود کردن ارقام یک عدد در جاوا اسکریپت

متد ()toPrecision

متد ()toPrecision محدوده کلی یک عدد را مشخص میکنه. تفاوتش با متد ()toFixed اینه که در متد ()toFixed تعداد رقم بعد از اعشار تعیین میشه اما در متد ()toPrecision تعداد کل ارقام یه عدد مشخص میشه.

var x = 2.951357; x.toPrecision();        // returns 2.951357 x.toPrecision(1);        // returns 3 x.toPrecision(4);        // returns 2.951 x.toPrecision(6);        // returns 2.95135

متدهای تبدیل رشته به عدد

برای تبدیل متغیرها به عدد در javascript سه متد داریم.

متد ()Number

متد ()Number برای تبدیل داده داخل پرانتز به عدد استفاده میشه.

Number(true); // returns 1 Number(false); // returns 0 Number(&quot2019&quot); // returns 2019 Number(&quot 2019&quot); // returns 2019 Number(&quot2019 &quot); // returns 2019 Number(&quot 2019 &quot); // returns 2019 Number(&quot20.19&quot); // returns 20.19 Number(&quot20,19&quot); // returns NaN Number(&quot20 19&quot); // returns NaN Number(&quotMegajs&quot); // returns NaN
اگر هنگام تبدیل متغیرها به عدد اگه مشکلی وجود داشته باشه (NaN (Not a Number برگشت داده میشه

اگر اعداد با فاصله یا همون (Space) باشن هیچی برای ما برگشت داده نمیشه. اما اگر به عدد اول نیاز داشته باشیم باید از متد ()parseInt و ()parseّFloat استفاده کنیم.

استفاده از متد ()Number برای تبدیل تاریخ

میشه از متد ()Number برای تبدیل تاریخ هم استفاده کرد. هر تاریخی که داخل پرانتز قرار بگیره به صورت میلی ثانیه از تاریخ ۱-۱-۱۹۷۰ در نظر گرفته می شود که خیلی از جاها برای محاسبه کاربرد داره. مثال:

Number(new Date(&quot2017-09-30&quot)); // returns 1506729600000

متد ()parseInt

تفاوت متد ()parsInt با ()Number در اینه که متغیر میتونه شامل فاصله (Space) باشه. و اگر عدد اعشاری باشه، فقط قسمت صحیح عدد را برامون بر میگردونه.

parseInt(&quot2019&quot); // returns 2019 parseInt(&quot20.19&quot); // returns 20 parseInt(&quot20 19 18&quot); // returns 20 parseInt(&quot20 years&quot); // returns 20 parseInt(&quotyears 20&quot); // returns NaN
اگر چند عدد با فاصله باشن فقط عدد اول را برای ما بر میگردونه

متد ()parseFloat

متد ()parseInt دقیقا مثل متد ()parseInt عمل میکنه؛ با این تفاوت که اگه عدد اعشاری باشه، قسمت اعشاری هم برای ما بر میگردونه.

parseInt(&quot2019&quot); // returns 2019 parseInt(&quot20.19&quot); // returns 20.19 parseInt(&quot20 19 18&quot); // returns 20 parseInt(&quot20 years&quot); // returns 20 parseInt(&quotyears 20&quot); // returns NaN
آموزش جاوا اسکریپتدوره جاوا اسکریپتجاوا اسکریپتاعداد در جاوا اسکریپتjavascript
برنامه نویس فول استک جاوااسکریپت و عاشق دنیای JS. موسس و مدرس در وبسایت megajs.com | کلی آموزش رایگان و مطالب مفید و تخصصی تو حوزه جاوااسکریپت آموزش دادم که تو سایت مگا جی اس میتونید ببینید.
شاید از این پست‌ها خوشتان بیاید