متدهای عدد (Number Methods)
در جاوااسکریپت، «عدد (Number)» ابزارهای زیادی دارد. با این متدها نمایش، گرد کردن، تبدیل و بررسی اعداد راحت می شود. با مثال های کوتاه جلو می رویم و هر جا لازم بود، تعریف ساده می دهیم.
متد toString()
متد «toString()» عدد را به «رشته (String)» تبدیل می کند. می توانی روی مقدار مستقیم، متغیر یا عبارت صدا بزنی.
let x = 123;
x.toString();
(123).toString();
(100 + 23).toString();
همچنین با پارامتر «radix» می توانی مبنا را تعیین کنی؛ مثلاً دودویی.
let x = 123;
let text = x.toString(2);
متد toExponential()
«نمایش نمایی (Exponential Notation)» اعداد خیلی بزرگ یا دقیق را فشرده نشان می دهد. متد «toExponential()» خروجی رشته ای می دهد.
let x = 9.656;
x.toExponential(2);
x.toExponential(4);
x.toExponential(6);
متد toFixed()
«toFixed()» عدد را با تعداد اعشار ثابت برمی گرداند. خروجی رشته است. برای پول عالی است.
let x = 9.656;
x.toFixed(0);
x.toFixed(2);
x.toFixed(4);
x.toFixed(6);
متد toPrecision()
«toPrecision()» تعداد کل ارقام معنادار را تعیین می کند. نتیجه رشته است.
let x = 9.656;
x.toPrecision();
x.toPrecision(2);
x.toPrecision(4);
x.toPrecision(6);
متد valueOf()
«valueOf()» مقدار اولیه عدد را برمی گرداند. بیشتر داخلی استفاده می شود.
let x = 123;
x.valueOf();
(123).valueOf();
(100 + 23).valueOf();
تبدیل به عدد: Number، parseInt، parseFloat
برای تبدیل رشته یا مقدار دیگر به عدد از این ها استفاده کن. «Number()» کلی است؛ «parseInt()» عدد صحیح می دهد؛ «parseFloat()» اعشاری می دهد.
Number(true);
Number(false);
Number("10");
Number(" 10");
Number("10 ");
Number(" 10 ");
Number("10.33");
Number("10,33");
Number("10 33");
Number("John");
parseInt("-10");
parseInt("-10.33");
parseInt("10");
parseInt("10.33");
parseInt("10 20 30");
parseInt("10 years");
parseInt("years 10");
parseFloat("10");
parseFloat("10.33");
parseFloat("10 20 30");
parseFloat("10 years");
parseFloat("years 10");
Number() روی تاریخ
«Number(Date)» تعداد میلی ثانیه از 1970-01-01 را می دهد. این برای زمان بندی مفید است.
Number(new Date("1970-01-01"));
Number(new Date("1970-01-02"));
Number(new Date("2017-09-30"));
متدهای ایستا: isInteger، isFinite، isNaN، isSafeInteger
این ها روی «Number» صدا زده می شوند، نه روی متغیر. یعنی بنویس «Number.isInteger(x)».
Number.isInteger(10);
Number.isInteger(10.5);
Number.isFinite(123);
Number.isNaN(123);
Number.isSafeInteger(10);
Number.isSafeInteger(12345678901234567890);
گام های تمرین
- با «toFixed(2)» مبلغ را نمایش بده.
- با «parseInt» سال را از متن جدا کن.
- با «Number.isFinite» ورودی محاسبه را چک کن.
نکته: برای مرور کلی به آموزش اعداد و برای ویژگی ها به ویژگی های عدد مراجعه کن.
جمع بندی سریع
- toString، toFixed، toPrecision خروجی رشته می دهند.
- Number، parseInt، parseFloat برای تبدیل اند.
- متدهای Number ایستا و بررسی کننده اند.
- Number(Date) میلی ثانیه از 1970 می دهد.
- روی متغیر ننویس «x.isInteger()»؛ خطا می دهد.