با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن ، در بخش های قبلی مباحث مربوطه به رشته ها در جاوااسکریپت ، ساختارها و متدهای کار با آن را بررسی کردیم، اعداد نیز یکی دیگر از مهمترین انواع داده در زبان های برنامه نویسی می باشند، در بخش قبلی انواع فرمت های عددی در جاوااسکریپت و چگونگی کار با آن ها را بررسی کرذیم، علاوه بر این ، متدها و توابعی نیز برای انجام انواع تبدیلات و عملیات روی اعداد در جاوااسکریپت ارائه شده است، به منظور آشنایی با متدهای عددی در جاوا اسکریپت در ادامه ی این بخش با ما همراه باشید.
در این آموزش شما را با انواع متدهای عددی در جاوااسکریپت و کاربرد آنها آشنا خواهیم کرد.
مقادیر اولیه (مانند ۳٫۱۴ یا ۲۰۱۴)، شامل متد و خصوصیات نمی شوند.(به این دلیل که آنها آبجکت نیستند).
اما در جاوا اسکریپت، متدها و خصوصیات برای مقادیر اولیه نیز در دسترس هستند.
چراکه جاوااسکریپت، هنگام اجرای متدها و خصوصیات، به مقادیر ابتدایی به عنوان آبجکت رفتار می کند.
متد toString() یک عدد را به رشته تبدیل می کند.
تمام متد های شمارش را می توان در هر نوع اعداد (literal، variables، or expressions) استفاده کرد:
1 2 3 4 | var x = 123; x.toString(); // returns 123 from variable x (123).toString(); // returns 123 from literal 123 (100 + 23).toString(); // returns 123 from expression 100 + 23 |
متد ()toExponential یک رشته را با مقدار عددی گرد شده را با نماد نمایشی برمی گرداند.
1 2 3 4 | var x = 9.656; x.toExponential(2); // returns 9.66e+0 x.toExponential(4); // returns 9.6560e+0 x.toExponential(6); |
اگر پارامتر متد فوق را مشخص نکنید، عدد مورد نظر گرد نخواهد شد.
متد ()toFixed یک رشته را با مقدار عددی که با یک عدد دهدهی خاص نوشته شده برمی گرداند:
1 2 3 4 5 | var x = 9.656; x.toFixed(0); // returns 10 x.toFixed(2); // returns 9.66 x.toFixed(4); // returns 9.6560 x.toFixed(6); // returns 9.656000 |
نکته : متد (toFixed (2 مناسب برای کار با مقادیر پول است.
یک مقدار رشته ای برمی گرداند که محتوای آن یک عدد به یک طول خاص است.
1 2 3 4 5 | var x = 9.656; x.toPrecision(); // returns 9.656 x.toPrecision(2); // returns 9.7 x.toPrecision(4); // returns 9.656 x.toPrecision(6); // returns 9.65600 |
همان مقدار عددی را باز می گرداند.
1 2 3 4 | var x = 123; x.valueOf(); // returns 123 from variable x (123).valueOf(); // returns 123 from literal 123 (100 + 23).valueOf(); // returns 123 from expression 100 + 23 |
در جاوا اسکریپت، عدد می تواند یک مقدار اولیه (typeof = number) یا یک شی (typeof = object) باشد.
متد ()valueOf در داخل جاوا اسکریپت برای تبدیل اشیاء Number به مقادیر اولیه استفاده می شود.
هیچ دلیلی برای استفاده از آن در کد شما وجود ندارد.
تمام انواع داده در جاوااسکریپت از متدهای ()valueOf و ()toString پشتیبانی می کند.
۳ متد جاوا اسکریپت وجود دارد که می تواند برای تبدیل متغیرها به اعداد استفاده شود:
متدهای فوق مختص عددی نیستند اما متدهای عمومی جاوااسکریپت محسوب می شوند.
متد های عمومی جاوا اسکریپت می تواند در تمام انواع داده های جاوا اسکریپت استفاده شود.
این متد های مرتبط کار با اعداد هستند:
متد | توضیحات |
---|---|
Number() | عددی را که از آرگومان آن تبدیل شده است را برمی گرداند. |
parseFloat() | آرگومان آن را تحلیل می کند و یک عدد اعشاری را باز می کند |
parseInt() | آرگومان آن را تحلیل می کند و یک عدد صحیح را باز می گرداند |
متد ()Number در جاوااسکریپت برای تبدیل متغیرها به اعداد استفاده می شود.
1 2 3 4 5 6 7 8 9 10 | Number(true); // returns 1 Number(false); // returns 0 Number("10"); // returns 10 Number(" 10"); // returns 10 Number("10 "); // returns 10 Number(" 10 "); // returns 10 Number("10.33"); // returns 10.33 Number("10,33"); // returns NaN Number("10 33"); // returns NaN Number("John"); // returns NaN |
نکته : در این متدها اگر عدد مربوطه قابل تبدیل نباشد، مقدار NaN بازگردانده خواهد شد.
متد ()Number نوع تاریخ را به عددی تبدیل می کند :
متد ()Number در مثال فوق، از سال ۱۹۷۰ تا ۱۹۷۰ مقدار میلی ثانیه را باز می کند.
متد ()parseInt یک رشته را تحلیل کرده و یک عدد کامل را به دست می آورد. فضاها مجاز هستند فقط شماره اول بازگردانده می شود:
1 2 3 4 5 | parseInt("10"); // returns 10 parseInt("10.33"); // returns 10 parseInt("10 20 30"); // returns 10 parseInt("10 years"); // returns 10 parseInt("years 10"); // returns NaN |
متد ()parseFloat یک رشته را تجزیه کرده و یک عدد بازمی گرداند.
فقط عدد اول بازگردانده می شود و فضاهای خالی نیز مجاز هستند.
1 2 3 4 5 | parseFloat("10"); // returns 10 parseFloat("10.33"); // returns 10.33 parseFloat("10 20 30"); // returns 10 parseFloat("10 years"); // returns 10 parseFloat("years 10"); // returns NaN |
خصوصیت | توضیحات |
---|---|
MAX_VALUE | بزرگترین تعداد ممکن را در جاوا اسکریپت باز می گرداند. |
MIN_VALUE | کوچکترین تعداد ممکن را در جاوا اسکریپت باز می گرداند. |
POSITIVE_INFINITY | نشان دهنده بی نهایت (در سرریز بازگشتی) |
NEGATIVE_INFINITY | نشان دهنده بی نهایت منفی (در سرریز بازگشتی) |
NaN | مقدار “Not-a-Number” را مدیریت می کند. |
خصوصیت POSITIVE_INFINITY در هنگام سریز رخ می دهد :
NEGATIVE_INFINITY نیز در هنگام سریز رخ می دهد :
NaN یک واژه رزرو شده در جاوا اسکریپت است که نشان می دهد که عدد مربوطه یک عدد قانونی نیست.
تلاش برای انجام محاسبات با یک رشته غیر عددی نتیجه NaN (نه یک عدد) است:
خواص عددی متعلق به کد جاوا اسکریپت شماره گیر به نام Number شناخته می شود.
این خواص فقط می توانند به عنوان Number.MAX_VALUE دیده شوند.
با استفاده از myNumber.MAX_VALUE، where myNumber یک متغیر، یک عبارت یا مقدار است:
در جاوااسکریپت علاوه بر پشتیبانی از ساختار و فرمت های عددی مختلف ، متدها و توابعی نیز برای انجام انواع تبدیلات و عملیات روی اعداد در جاوااسکریپت ارائه شده است، از این رو مباحث این بخش را به بررسی متدهای عددی در جاوا اسکریپت اختصاص دادیم.