در جاوا اسکریپت میتوان برای کار با اعداد از متدهای عددی موجود در این زبان استفاده کرد. این متد ها قابلیت های فراوانی را برای ما فراهم می آورند. در این فصل با این متدها آشنا میشویم.
متد های عددی
متد های عددی در کار با اعداد به ما کمک خواهند کرد. مقادیر اولیه همچون 3.14
و 2014
نمی توانند دارای پروپرتی و متد باشند، زیرا آنها object نیستند. اما با استفاده از زبان جاوااسکریپت متد ها و پروپرتی ها برای مقادیر اولیه در دسترس خواهند بود و دلیل آن هم این است که در جاوا اسکریپت مقادیر اولیه به عنوان object در نظر گرفته می شوند.
متد ()toString
با استفاده از متد ()toString
می توان یک عدد را به یک رشته تبدیل کرد.
همه متد های عددی میتوانند بر روی انواع مختلف اعداد به کار برده شوند (literals, variables و یا expressions) :
<p id="demo"></p>
<script>
var x = 123;
document.getElementById("demo").innerHTML =
x.toString() + "<br>" +
(123).toString() + "<br>" +
(100 + 23).toString();
</script>
خروجی نمونه مثال بالا :
123
123
123
متد ()toExponential
متد ()toExponential
یک رشته را بر میگرداند. این رشته حاوی عددی خواهد بود که با نماد e مزین شده است. این متد عددی را به عنوان پارامتر می پذیرد که تعداد کاراکتر هایی که بعد از نقطه اعشار می آید را مشخص می کند :
<p id="demo"></p>
<script>
var x = 9.656;
document.getElementById("demo").innerHTML =
x.toExponential() + "<br>" +
x.toExponential(2) + "<br>" +
x.toExponential(4) + "<br>" +
x.toExponential(6);
</script>
خروجی نمونه مثال بالا :
9.656e+0
9.66e+0
9.6560e+0
9.656000e+0
دقت داشته باشید که پارامتر ورودی اختیاری است میتوانید آن را در نظر نگیرید.
متد ()toFixed
متد ()toFixed
یک رشته را برمیگرداند. این رشته حاوی عددی خواهد بود که دارای تعداد مشخصی کاراکتر برای قسمت اعشاری آن است :
<p id="demo"></p>
<script>
var x = 9.656;
document.getElementById("demo").innerHTML =
x.toFixed(0) + "<br>" +
x.toFixed(2) + "<br>" +
x.toFixed(4) + "<br>" +
x.toFixed(6);
</script>
خروجی نمونه مثال بالا :
10
9.66
9.6560
9.656000
نکته : متد (toFixed(2
برای کار با مقادیر پولی بسیار مناسب است.
متد ()toPrecision
متد ()toPrecision
رشته ای را برمی گرداند که شامل عددی با طول مشخص است :
<p id="demo"></p>
<script>
var x = 9.656;
document.getElementById("demo").innerHTML =
x.toPrecision() + "<br>" +
x.toPrecision(2) + "<br>" +
x.toPrecision(4) + "<br>" +
x.toPrecision(6);
</script>
خروجی نمونه مثال بالا :
9.656
9.7
9.656
9.65600
متد ()valueOf
متد ()valueOf
یک عدد را به عنوان یک عدد بر می گرداند.در مواردی که میخواهید مقدار عددی یک متغیر را بدست آورید، می توانید از این متد استفاده کنید. همچنین برای زمانی که بخواهید یک شی عددی را به یک مقدار عددی ساده تبدیل کنید نیز می توان از این متد استفاده کرد :
<p id="demo"></p>
<script>
var x = 123;
document.getElementById("demo").innerHTML =
x.valueOf() + "<br>" +
(123).valueOf() + "<br>" +
(100 + 23).valueOf();
</script>
خروجی نمونه مثال بالا :
123
123
123
تبدیل متغیرها به اعداد
در جاوا اسکریپت برای تبدیل متغیرها به اعداد می توان از سه متد زیر استفاده کرد :
()Number
()parseInt
()arseFloat
هرکدام از متد های فوق کار تبدیل رشته به یک عدد را انجام میدهد.
متد ()Number
از متد ()Number
برای تبدیل متغیر های جاوا اسکریپت به اعداد استفاده کنید :
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML =
Number(true) + "<br>" +
Number(false) + "<br>" +
Number("10") + "<br>" +
Number(" 10") + "<br>" +
Number("10 ") + "<br>" +
Number(" 10 ") + "<br>" +
Number("10.33") + "<br>" +
Number("10,33") + "<br>" +
Number("10 33") + "<br>" +
Number("John");
</script>
خروجی نمونه مثال بالا :
1
0
10
10
10
10
10.33
NaN
NaN
NaN
اگر عملیات تبدیل با موفقیت انجام نشود، مقدار NaN
برگردانده میشود.
استفاده از متد ()Number بر روی تاریخ
می توان متد ()Number
را بر روی یک تاریخ اعمال کرد. در این صورت تاریخ مورد نظر به یک عدد تبدیل خواهد شد. این عدد به صورت میلی ثانیه از تاریخ 1.1.1970
در نظر گرفته می شود :
<p id="demo"></p>
<script>
var x = new Date("2017-09-30");
document.getElementById("demo").innerHTML = Number(x);
</script>
خروجی نمونه مثال بالا :
1506729600000
متد ()parseInt
با استفاده از متد ()parseInt
می توان یک رشته را به یک عدد تبدیل کرد. رشته مورد نظر میتواند شامل فضاهای خالی باشد. دقت داشته باشید در صورتی که اعداد با فاصله در رشته قرار بگیرند اولین عدد برگردانده میشود :
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML =
parseInt("10") + "<br>" +
parseInt("10.33") + "<br>" +
parseInt("10 6") + "<br>" +
parseInt("10 years") + "<br>" +
parseInt("years 10");
</script>
خروجی نمونه مثال بالا :
10
10
10
10
NaN
اگر عملیات تبدیل با موفقیت انجام نشود، مقدار NaN
برگردانده میشود.
متد ()parseFloat
با استفاده از متد ()parseFloat
می توان یک رشته را به یک عدد تبدیل کرد. رشته مورد نظر میتواند شامل فضاهای خالی باشد. دقت داشته باشید در صورتی که اعداد با فاصله در رشته قرار بگیرند اولین عدد برگردانده میشود :
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML =
parseFloat("10") + "<br>" +
parseFloat("10.33") + "<br>" +
parseFloat("10 6") + "<br>" +
parseFloat("10 years") + "<br>" +
parseFloat("years 10");
</script>
خروجی نمونه مثال بالا :
10
10.33
10
10
NaN
اگر عملیات تبدیل با موفقیت انجام نشود، مقدار NaN
برگردانده میشود.