با بخش دوم از اعداد در جاوا اسکریپت از سری آموزش جاوا اسکریپت در خدمت شما هستیم.
در بخش اول اعداد در جاوا اسکریپت با نحوه کار با اعداد ها, عملیات ریاضی و غیره آشنا شدیم. در این بخش قصد داریم بقیه مباحث باقی کار با اعداد را بررسی کنیم.
انجام عملیات روی اعداد
برای کار با اعداد در جاوا اسکریپت چندین متد و خصوصیت وجود دارد که بعضی آنها را در بخش های قبلی دیدید.
در جاوا اسکریپت نوع داده ای اولیه می تواند بصورت آبجکت باشد زمانی که با نقطه خصوصیتی را روی آن اعمال می کنید.
در این بخش, متدهای پر استفاده کار با اعداد در جاوا اسکریپت را بررسی می کنیم.
تجزیه اعداد صحیح از رشته ها
متد parseInt()
می تواند برای تجزیه یک عدد از رشته استفاده شود.
این متد به ویژه زمانی مفید است که با مقادیر اندازه گیری CSS مانند ۵۰px
, 12pt
کار داریم و می خواهیم مقدار عددی آن را بیرون بکشیم.
اگر متد parseInt()
با کاراکتری برخورد کند که عددی نیست آنجا می ایستد و عدد تا آن بخش را برگشت می دهد.
اگر کاراکتر نیز قابل تبدیل به عدد نبود مقدار NaN
را برگشت می دهد
1 2 3 4 5 6 7 |
console.log(parseInt("3.14")); // 3 console.log(parseInt("50px")); // 50 console.log(parseInt("12pt")); // 12 console.log(parseInt("0xFF", 16)); // 255 console.log(parseInt("20 years")); // 20 console.log(parseInt("Year 2048")); // NaN console.log(parseInt("10 12 2018")); // 10 |
نکته: متد parseInt()
شماره ها را به مقادیر عددی کوتاه می کند, اما نباید به عنوان جایگزین برای متد Math.floor()
استفاده کنید.
مشابه آن می توانید از متد parseFloat()
برای تجزیه اعداد اعشاری از یک رشته استفاده کنید.
متد parseFloat()
همانند متد parseInt()
کار می کند با این تفاوت که این مقدار اعشاری را برگشت می دهد.
1 2 3 4 5 6 |
console.log(parseFloat("3.14")); // 3.14 console.log(parseFloat("50px")); // 50 console.log(parseFloat("1.6em")); // 1.6 console.log(parseFloat("124.5 lbs")); // 124.5 console.log(parseFloat("weight 124.5 lbs")); // NaN console.log(parseFloat("6.5 acres")); // 6.5 |
تبدیل اعداد به رشته ها
متد toString()
می تواند برای تبدیل عدد به رشته مساوی آن استفاده شود.
این متد بصورت اختیاری یک پارامتر عددی در محدوده ۲ تا ۳۶ برای مشخص کردن پایه مقادیر عددی دریافت می کند.
1 2 3 4 5 6 7 8 9 10 |
var x = 10; var y = x.toString(); console.log(y); // '10' console.log(typeof y); // string console.log(typeof x); // number console.log((12).toString()); // '12' console.log((15.6).toString()); // '15.6' console.log((6).toString(2)); // '110' console.log((255).toString(16)); // 'ff' |
تبدیل اعداد به قرارداد نمایی
می تواند از متد toExponential()
برای تبدیل عدد به قرار دادن نمایی (Exponential Notation) استفاده کنید. این متد یک مقدار عددی اختیاری نیز برای مشخص کردن رقم های اعشار دریافت می کند.
همچنین برگشتی یک رشته است نه عدد.
1 2 3 4 5 6 |
var x = 67.1234; console.log(x.toExponential()); // 6.71234e+1 console.log(x.toExponential(6)); // 6.712340e+1 console.log(x.toExponential(4)); // 6.7123e+1 console.log(x.toExponential(2)); // 6.71e+1 |
نکته: Exponential Notation یا قرارداد های نمایی برای نمایش اعداد بسیار بزرگ یا بسیار کوچک استفاده می شود برای مثال ۶۲۵۰۰۰۰۰۰۰۰
می تواند بصورت ۶۲۵e+8
یا ۶٫۲۵e+10
نوشته شود.
فرمت بندی اعداد اعشاری
از متد toFixed()
می توانید برای فرمت بندی یک متن با مقدار ثابت ارقام به اعشاری استفاده کنید.
مقدار بازگشتی این متد بصورت رشته ای است که دقیقا مقدار ارقام را بصورت اعشار را دارد.
1 2 3 4 5 6 7 8 9 10 11 |
var x = 72.635; console.log(x.toFixed()); // '73' (note rounding, no fractional part) console.log(x.toPrecision(2)); // '72.64' (note rounding) console.log(x.toPrecision(1)); // '72.6' var y = 6.25e+5; console.log(y.toFixed(2)); // '625000.00' var z = 1.58e-4; console.log(z.toFixed(2)); // '0.00' (since 1.58e-4 is equal to 0.000158) |
فرمت بندی اعداد با دقت (Percision)
اگر یک عدد را با مناسب ترین فرم می خواهید می توانید از متد toPercision()
استفاده کنید.
این متد یک رشته را برای نمایش دقیق عدد برگشت می دهد.
اگر precision به قدر کافی برای شامل شدن تمام ارقام عدد باشد, پس بصورت ثابت فرمت بندی می شود.
1 2 3 4 5 6 7 8 9 10 11 12 |
var x = 6.235; console.log(x.toPrecision()); // '6.235' console.log(x.toPrecision(3)); // '6.24' (note rounding) console.log(x.toPrecision(2)); // '6.2' console.log(x.toPrecision(1)); // '6' var y = 47.63; console.log(y.toPrecision(2)); // '48' (note rounding, no fractional part) var z = 1234.5; console.log(z.toPrecision(2)); // '1.2e+3' |
پیدا کردن بزرگترین و کوچکتری اعداد ممکن
آبجکت Number همچنین دارای چندین خصوصیت است که Number.MAX_VALUE
و Number.MAX_VALUE
برای نمایش بزرگترین و کوچکترین (نزدیک به صفر, مثبت) اعداد مثبت ممکن که در جاوا اسکریپت قابل پردازش است را نشان می دهد.
این خصوصیات بصورت ثابت مقدار آنها ۱٫۷۹۷۶۹۳۱۳۴۸۶۲۳۱۵۷e+308
و ۵e-324
هستند.
اعدادی که خارج از محدوده اعداد ممکن هستند در ثابت های Number.POSITIVE_INFINITY
و Number.NEGATIVE_INFINITY
مشخص شده اند.
1 2 3 4 5 6 7 8 9 10 11 |
var a = Number.MAX_VALUE; console.log(a); // 1.7976931348623157e+308 var b = Number.MIN_VALUE; console.log(b); // 5e-324 var x = Number.MAX_VALUE * 2; console.log(x); // Infinity var y = -1 * Number.MAX_VALUE * 2; console.log(y); // -Infinity |
امیدوارم از قسمت آخر کار با اعداد جاوا اسکریپت نهایت استفاده را برده باشید.
در بخش بعدی با دستورات شرطی در جاوا اسکریپت آشنا می شوید.
هر سوالی داشتید ، از قسمت نظرات ارسال کنید . سریعا ، پاسخگوی سوالات شما هستیم .
موفق باشید.