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

از ویکی کد
پرش به ناوبری پرش به جستجو
Main Page Tutorial
JavaScript-menu.png
موارد آموزشی
فرم‌ها در جاوا اسکریپت
اشیاء در جاوا اسکریپت
تابع در جاوا اسکریپت
HTML DOM در جاوا اسکریپت
Browser BOM در جاوا اسکریپت
AJAX در جاوا اسکریپت
JSON در جاوا اسکریپت
جی‌کوئری در برابر جاوا اسکریپت
مثال‌های جاوا اسکریپت
مرجع جاوا اسکریپت

متدهای داده‌های عددی به شما کمک می‌کند تا با اعداد کار کنید. [۱]

متدها و ویژگی های اعداد

داده‌های اصلی یا (به انگلیسی: Primitive) (مانند ۳٫۱۴ یا ۲۰۱۴)، نمی‌توانند ویژگی یا متدی داشته باشند، (زیرا که آنها اشیاء نیستند).

اما با جاوا اسکریپت، متدها و ویژگی‌ها، حتی برای داده‌های اصلی یا primitive در دسترس هستند، زیرا جاوا اسکریپت مقادیر یا داده‌های اصلی primitive را در هنگام اجرای متدها و ویژگی‌ها به عنوان شیء در نظر می‌گیرد.

متد toString()

متد toString() یک عدد را به عنوان یک رشتهٔ متنی بازمی‌گرداند.

تمامی متدهای داده‌های عددی می‌توانند برای هر نوع از اعداد استفاده شوند (عددهای ساده، متغیرها یا عبارت‌ها):

مثال

1 var x = 123;
2 x.toString();            // returns 123 from variable x
3 (123).toString();        // returns 123 from literal 123
4 (100 + 23).toString();   // returns 123 from expression 100 + 23


متد toExponential()

متد toExponential() یک رشتهٔ متنی شامل یک عدد که گرد شده‌است و به صورت عدد علمی نوشته شده‌است را به عنوان خروجی بازمی‌گرداند.

یک پارامتر تعداد کاراکترهای پشت اعشار را مشخص می‌کند:

مثال

1 var x = 9.656;
2 x.toExponential(2);     // returns 9.66e+0
3 x.toExponential(4);     // returns 9.6560e+0
4 x.toExponential(6);     // returns 9.656000e+0

این پارامتر اختیاری است و اجباری نیست. اگر شما آن را ننویسید، جاوا اسکریپت عدد را گرد نمی‌کند.

متد toFixed()

متد toFixed() یک رشتهٔ متنی را که شامل یک عدد با تعداد به خصوصی از اعشار است را بازمی‌گرداند:

مثال

1 var x = 9.656;
2 x.toFixed(0);           // returns 10
3 x.toFixed(2);           // returns 9.66
4 x.toFixed(4);           // returns 9.6560
5 x.toFixed(6);           // returns 9.656000

متد toFixed(2) برای کار با پول بسیار کاربردی است.

متد toPrecision()

متد toPrecision() یک رشتهٔ متنی شامل یک عدد با یک طول به خصوص را برمی‌گرداند.

مثال

1 var x = 9.656;
2 x.toPrecision();        // returns 9.656
3 x.toPrecision(2);       // returns 9.7
4 x.toPrecision(4);       // returns 9.656
5 x.toPrecision(6);       // returns 9.65600


متد valueof()

متد valueOf() یک عدد را به عنوان یک عدد بازمی‌گرداند.

مثال

1 var x = 123;
2 x.valueOf();            // returns 123 from variable x
3 (123).valueOf();        // returns 123 from literal 123
4 (100 + 23).valueOf();   // returns 123 from expression 100 + 23

در جاوا اسکریپت، یک عدد می‌تواند از نوع اصلی (به انگلیسی: primitive) باشد (یعنی زمانی که از عملگر typeof برای آن عدد استفاده کردیم خروجی این عملگر مقدار number باشد) یا می‌تواند از نوع شیء باشد (یعنی زمانی که از عملگر typeof برای آن عدد استفاده کردیم مقدار خروجی این عملگر object باشد).

از متد valueOf() در درون جاوا اسکریپت برای تبدیل اشیای عددی به نوع اصلی (به انگلیسی: primitive) استفاده می‌شود.

هیچ دلیلی وجود ندارد که از آن در کدهایتان استفاده کنید.

تمامی نوع داده‌ها در جاوا اسکریپت یک متد valueOf() و یک متد toString() دارند.

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

در متغیر ۳ متد وجود دارد که می‌توان از آن‌ها برای تبدیل متغیرها به اعداد استفاده کرد:

  • متد Number()
  • متد parseInt()
  • متد parseFloat()

این متدها متدهای عددی جاوا اسکریپت نیستند، اما متدهای کلی (به انگلیسی: global) در جاوا اسکریپت هستند.

متدهای کلی (به انگلیسی: Global) در جاوا اسکریپت

متدهای global (به فارسی: کلی) را می‌توان بر روی تمامی انواع داده‌ها در جاوا اسکریپت استفاده کرد.

زمانی که شما با اعداد کار می‌کنید، برخی از این متدها پرکاربرد هستند:

متد توضیحات
Number() یک عدد را به عنوان آرگومان ورودی دریافت و آن را تبدیل می‌کند
parseFloat() یک عدد را به عنوان آرگومان ورودی دریافت و آن را یک عدد اعشاری را به خروجی برمی‌گرداند
parseInt() یک عدد را به عنوان آرگومان ورودی دریافت و آن را به یک عدد صحیح تبدیل می‌کند

متد Number()

متد ()Number را می‌توان برای تبدیل متغیرها در جاوا اسکریپت به اعداد استفاده کرد:

مثال

 1 Number(true);          // returns 1
 2 Number(false);         // returns 0
 3 Number("10");          // returns 10
 4 Number("  10");        // returns 10
 5 Number("10  ");        // returns 10
 6 Number(" 10  ");       // returns 10
 7 Number("10.33");       // returns 10.33
 8 Number("10,33");       // returns NaN
 9 Number("10 33");       // returns NaN
10 Number("John");        // returns NaN

اگر یک عدد را نتوان تبدیل کرد، مقدار NaN (یک عدد نیست) به عنوان خروجی بازگردانده می‌شود.

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

از متد Number() می‌توان برای تبدیل یک تاریخ به یک عدد هم استفاده کرد:

مثال

Number(new Date("2017-09-30"));    // returns 1506729600000
متد Number() بالا، عددی به صورت میلی ثانیه از تاریخ ۱۹۷۰٫۱٫۱ به عنوان خروجی بازمی‌گرداند.

متد parseInt()

متد parseInt() یک رشته را دریافت می‌کند و یک عدد را بازمی‌گرداند. فضای خالی در این متد قابل استفاده است. اما در خروجی تنها عدد اول تبدیل می‌شود:

مثال

1 parseInt("10");         // returns 10
2 parseInt("10.33");      // returns 10
3 parseInt("10 20 30");   // returns 10
4 parseInt("10 years");   // returns 10
5 parseInt("years 10");   // returns NaN

اگر یک عدد تبدیل نشود، مقدار NaN (یک عدد نیست) به عنوان خروجی بازگردانده می‌شود.

متد parseFloat()

متد parseFloat() یک رشته را به یک عدد تبدیل می‌کند و آن عدد را بازمی‌گرداند. از فضای خالی در این متد می‌توان استفاده کرد. تنها عدد اول تبدیل شده و به خروجی بازگردانده می‌شود:

مثال

1 parseFloat("10");        // returns 10
2 parseFloat("10.33");     // returns 10.33
3 parseFloat("10 20 30");  // returns 10
4 parseFloat("10 years");  // returns 10
5 parseFloat("years 10");  // returns NaN

اگر یک عدد را نتوان تبدیل کرد، مقدار NaN (یک عدد نیست) بازگردانده می‌شود.

ویژگی های اعداد

ویژگی توضیحات
MAX_VALUE بزرگترین عدد ممکنه در جاوا اسکریپت را بازمی‌گرداند
MIN_VALUE کوچکترین عدد ممکنه در جاوا اسکریپت را بازمی‌گرداند
POSITIVE_INFINITY به معنای وجود مقدار بی‌نهایت یا Infinity مثبت می‌باشد
NEGATIVE_INFINITY به معنای وجود مقدار بی‌نهایت یا Infinity منفی می‌باشد
NaN به معنای مقدار "یک عدد نیست" می‌باشد

مقادیر MAX_VALUE و MIN_VALUE در جاوا اسکریپت

ویژگی MAX_VALUE بزرگترین عدد ممکنه در جاوا اسکریپت را بازمی‌گرداند.

مثال

var x = Number.MAX_VALUE;

ویژگی MIN_VALUE کوچکترین عدد ممکنه در جاوا اسکریپت را بازمی‌گرداند.

مثال

var x = Number.MIN_VALUE;

مقدار بی نهایت (به انگلیسی: POSITIVE_INFINITY) مثبت در جاوا اسکریپت

مثال

var x = Number.POSITIVE_INFINITY;

مقدار POSITIVE_INFINITY زمانی بازگردانده می‌شود که overflow مثبت داشته باشیم:

مثال

var x = 1 / 0;

مقدار بی نهایت (NEGATIVE_INFINITY) منفی در جاوا اسکریپت

مثال

var x = Number.NEGATIVE_INFINITY;

NEGATIVE_INFINITY زمانی بازگردانده می‌شود که overflow منفی داشته باشیم:

مثال

var x = -1 / 0;

کلمهٔ کلیدی NaN - یک عدد نیست در جاوا اسکریپت

مثال

var x = Number.NaN;

NaN یک کلمهٔ رزرو شده در جاوا اسکریپت است که مشخص می‌کند یک عدد، مطابق قوانین اعداد در جاوا اسکریپت عدد صحیحی نیست.

زمانی که تلاش کنید که عملیات‌های ریاضی را با رشته‌های غیر عددی انجام دهید آنگاه NaN (یک عدد نیست) به عنوان نتیجه بازگردانده می‌شود:

مثال

var x = 100 / "Apple";  // x will be NaN (Not a Number)

ویژگی های داده های عددی را نمی توان برای متغیرها استفاده کرد

ویژگی‌های اعداد مربوط به شیء اعداد جاوا اسکریپت است که، Number یا اعداد نامیده می‌شود.

این ویژگی‌ها فقط به صورت Number.MAX_VALUE قابل دسترسی خواهند بود.

اگر ویژگی‌ها را به صورت myNumber.MAX_VALUE که عبارت myNumber در اینجا یک متغیر، عبارت یا یک مقدار است استفاده کنیم مقدار undefined به عنوان خروجی بازگردانده می‌شود:

مثال

1 var x = 6;
2 var y = x.MAX_VALUE;    // y becomes undefined


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

برای مشاهده یک مرجع کامل در مورد داده‌های عددی، به مقاله ما تحت عنوان مرجع کامل داده‌های عددی در جاوا اسکریپت مراجعه کنید.

این مرجع شامل توضیحات و مثال‌هایی از تمامی ویژگی‌ها و متدهای موجود برای داده‌های عددی است.

منابع آموزشی