به آموزشگاه مجازی سینا خوش آمدید!

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

امتیاز
(0)

 

متدهای اولیه

متدهای اولیه را می توانیم روی هر عددی استفاده کنیم.

toString()
toExponential()
toFixed()
toPrecision()
valueOf()

متدهای استاتیک

متدهای استاتیک را تنها می توانیم روی آبجکت Number استفاده کنیم.

Number.isFinite()
Number.isInteger()
Number.isNan()
Number.isSafeInteger()
Number.parseInt()
Number.parseFloat()

متد toString() در جاوا اسکریپت

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

تمام مقادیر عددی از هر نوعی می توانند مورد استفاده قرار گیرند(لیترال ها، متغیرها یا عبارت ها):

مثال شماره 1

let x = 123;
x.toString();
(123).toString();
(100 + 23).toString();
امتحان کنید

متد toString() می‌تواند یک آرگومان اختیاری به نام radix دریافت کند تا عدد را به مبناهای متفاوت تبدیل کند:

مثال شماره 2

let x = 123;

let text = x.toString(2);
امتحان کنید

متد toExponential() در جاوا اسکریپت

متد toExponential() یک رشته را برمی‌گرداند که حاوی یک عدد گرد شده است که به صورت نماد علمی نوشته شده است. این متد یک پارامتر می‌گیرد که تعداد رقم‌های پس از نقطه‌ی اعشار را تعریف می‌کند:

مثال شماره 3

let x = 9.656;
x.toExponential(2);
x.toExponential(4);
x.toExponential(6);
امتحان کنید

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


متد toFixed() در جاوا اسکریپت

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

مثال شماره 4

let x = 9.656;
x.toFixed(0);
x.toFixed(2);
x.toFixed(4);
x.toFixed(6);
امتحان کنید

نکته: برای کار با پول، استفاده از متد و پارامتر toFixed(2) عالی است. 


متد toPrecision() در جاوا اسکریپت

متد toPrecision() یک رشته را برمی گرداند که حاوی یک عدد است که طول مشخص شده ای دارد:

مثال شماره 5

let x = 9.656;
x.toPrecision();
x.toPrecision(2);
x.toPrecision(4);
x.toPrecision(6);
امتحان کنید

متد valueOf() در جاوا اسکریپت

متد valueOf() یک آبجکت عددی را به یک عدد اولیه تبدیل می کند. 

مثال شماره 6

let x = 123;
x.valueOf();
(123).valueOf();
(100 + 23).valueOf();
امتحان کنید

یک عدد در جاوا اسکریپت، می‌تواند یک مقدار اولیه یا primitive باشد(typeof = number) یا می تواند یک آبجکت(typeof = object) باشد. 

از متد valueOf() به صورت داخلی در جاوا اسکریپت برای تبدیل آبجکت های عددی(Number objects) به مقادیر اولیه(primitive) استفاده می شود. 

دلیلی برای استفاده از این متد در کدهای شما وجود ندارد. 

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


تبدیل متغیرها به اعداد(Numbers) در جاوا اسکریپت

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

متد توضیح
Number()

این متد یک رشته را بعنوان یک آرگومان می گیرد و عدد درون آن را برمی گرداند.

parseFloat()

این متد، یک رشته را بعنوان آرگومان می گیرد و آن را تجزیه کرده و یک عدد ممیز شناور را برمی گرداند. 

parseInt() این متد یک عدد را بعنوان آرگومان می گیرد و آن را تجزیه می کند و یک عدد صحیح را برمی گرداند. 

متدهای بالا، متدهای عددی(number) نیستند؛ آنها متدهای سراسریِ(global) جاوا اسکریپت هستند. 


متد Number() در جاوا اسکریپت

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

مثال شماره 7

Number(true);
Number(false);
Number("10");
Number("  10");
Number("10  ");
Number(" 10  ");
Number("10.33");
Number("10,33");
Number("10 33");
Number("John");
امتحان کنید

اگر عدد مورد نظر نتواند تبدیل شود، مقدار NoN برگردانده می شود. 


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

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

مثال شماره 8

Number(new Date("1970-01-01"))
امتحان کنید

متد Date()تعدادِ میلی ثانیه ها از تاریخ 1.1.1970 تا تاریخی به آن می دهیم را برمی‌گرداند. پس چون تاریخ 1.1.1970 به آن داده شده است، مقدار 0 را در مثال بالا برمی گرداند. 

تعداد میلی ثانیه‌های بین 1970-01-02 و 1970-01-01 برابر با 86400000است:

مثال شماره 9

Number(new Date("1970-01-02"))
امتحان کنید

مثال شماره 10

 Number(new Date("2017-09-30")) 
امتحان کنید

متد parseInt() در جاوا اسکریپت

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

مثال شماره 11

parseInt("-10");
parseInt("-10.33");
parseInt("10");
parseInt("10.33");
parseInt("10 20 30");
parseInt("10 years");
parseInt("years 10");
امتحان کنید

اگر عدد مورد نظر نتواند تبدیل شود، مقدار NaN برگردانده خواهد شد. 


متد parseFloat() در جاوا اسکریپت

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

مثال شماره 12

parseFloat("10");
parseFloat("10.33");
parseFloat("10 20 30");
parseFloat("10 years");
parseFloat("years 10");
امتحان کنید

اگر عدد مورد نظر نتواند تبدیل شود، مقدار NaN برگردانده خواهد شد. 


متدهای آبجکتِ Number در جاوا اسکریپت 

این متدها به آبجکت Number تعلق دارند:

متد توضیح
Number.isInteger()

اگر آرگومان داده شده به آن یک عدد صحیح باشد، مقدار true را برمی گرداند. 

Number.isNaN()

اگر آرگومان داده شده به آن NaN باشد، مقدار true را برمی گرداند. 

Number.isFinite()

اگر آرگومان داده شده به آن، نه بی‌نهایت باشد و نه NaN، مقدار true را برمی‌گرداند. 

Number.isSafeInteger()

اگر آرگومان داده شده به آن یک عدد صحیحِ امن(safe integer) باشد، مقدار true را برمی گرداند. 

Number.parseFloat()

یک رشته را به یک عدد تبدیل می کند.

Number.parseInt()

یک رشته را به یک عدد صحیح تبدیل می کند. 


متدهای Number را نمی توانیم روی متغیرها مورد استفاده قرار دهیم. 

متدهای عددیِ بالا، به آبجکت Number در جاوا اسکریپت تعلق دارند. 

به این متدها تنها می توانیم مانند Number.isInteger() دسترسی داشته باشیم. 

اگر از دستوری  به صورت X.isInteger() استفاده کنیم که X یک متغیر باشد، خطای زیر تولید خواهد شد:

TypeError X.isInteger is not a function.

متد Number.isInteger() در جاوا اسکریپت

اگر آرگومان داده شده به متد Number.isInteger() یک عدد صحیح باشد، مقدار true برگردانده خواهد شد. 

مثال شماره 13

Number.isInteger(10);
Number.isInteger(10.5);
امتحان کنید

متد Number.isFinite() در جاوا اسکریپت

اگر آرگومان داده شده به متد Number.isFinite() برابر با Infinity یا -Infinity یا NaN نباشد، مقدار true برگردانده می‌شود. 

مثال شماره 14

Number.isFinite(123);
امتحان کنید

متد Number.isNaN() در جاوا اسکریپت

اگر آرگومان داده شده به متد Number.isNaN() برابر با NaN باشد، مقدار true برگردانده می شود. 

مثال شماره 15

 Number.isNaN(123);
امتحان کنید

استفاده از متد Number.isNaN() یک راه ترجیح داده شده برای بررسیِ برابر بودن با مقدار NaN است. ما نمی توانیم با استفاده از == یا === برابر بودن با NaN را تست کنیم. 


متد Number.isSafeInteger() در جاوا اسکریپت

یک عدد صحیح امن(safe) یک عدد صحیح است که دقیقاً بتواند به صورت یک عدد با دقت دوبرابر(دقت دوگانه) نمایش داده شود. اگر آرگومان داده شده به متد Number.isSafeInteger() یک عدد صحیح امن باشد، مقدار true را برمی‌گرداند. 

مثال شماره 16

Number.isSafeInteger(10);
Number.isSafeInteger(12345678901234567890);
امتحان کنید

به تمام اعداد صحیح که بین -(253 - 1)to +(253 - 1) هستند، اعداد صحیحِ امن گفته می شود. 

عدد 9007199254740991 امن است. اما عدد 9007199254740992 امن نیست. 


متد Number.parseFloat() در جاوا اسکریپت

متد Number.parseFloat() یک رشته را تجزیه کرده و یک عدد را برمی‌گرداند. 

استفاده از فاصله های سفید نیز مجاز است. تنها اولین عدد برگردانده می‌شود:

مثال شماره 17

Number.parseFloat("10");
Number.parseFloat("10.33");
Number.parseFloat("10 20 30");
Number.parseFloat("10 years");
Number.parseFloat("years 10");
امتحان کنید

اگر عدد مورد نظر نتواند تبدیل شود، مقدار NaN برگردانده می شود. 


متدهای عددیِ(Number) Number.parseInt() و Number.parseFloat() مشابه با متدهای سراسریِ(Global) parseInt() و parseFloat() هستند. 

هدف این متدها ماژول‌بندیِ آبجکت های سراسری(modularization of globals) است تا استفاده از کدهای مشابه جاوا اسکریپت، در بیرون از مرورگر آسان تر شود. 


متد Number.parseInt() در جاوا اسکریپت

متد Number.parseInt() یک رشته را تجزیه می کند و یک عدد صحیح(a whole number) را برمی گرداند. استفاده از فاصله های سفید مجاز است. تنها اولین عدد برگردانده می شود:

مثال شماره 18

Number.parseInt("-10");
Number.parseInt("-10.33");
Number.parseInt("10");
Number.parseInt("10.33");
Number.parseInt("10 20 30");
Number.parseInt("10 years");
Number.parseInt("years 10");
امتحان کنید

اگر عدد مورد نظر نتواند تبدیل شود، مقدار NaN برگردانده خواهد شد. 


متد Number.isInteger() در جاوا اسکریپت

اگر آرگومان داده شده به متد Number.isInteger() یک عدد صحیح باشد، مقدار true را برمی گرداند. 

مثال شماره 19

Number.isInteger(10);
Number.isInteger(10.5);
امتحان کنید

متد Number.isSafeInteger() در جاوا اسکریپت

این متد قبلاً در بالا توضیح داده شد. 


منبع: www.w3schools.com/js

 

  • بازدید: 28

نوشتن دیدگاه

لطفا نظرات خود را بیان کنید. به سوالات در سریع ترین زمان پاسخ داده خواهد شد.اما به نکات زیر توجه کنید:
1. سعی کنید نظرات شما مرتبط با مقاله ی مورد نظر باشد، در غیر این صورت پاسخ داده نخواهد شد.
2. سوالات خود را به صورت کوتاه بیان کنید و از پرسیدن چند سوال به طور همزمان خودداری کنید.
3. سوال خود را به طور واضح بیان کنید و از کلمات مبهم استفاده نکنید.

ارسال