آشنایی با تابع parseInt در جاوااسکریپت

javascript global objects parseint
11 آذر 1403

توضیحاتی دربارهٔ تابع parseInt در جاوااسکریپت


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


در واقع، parseInt یک رشته را به عنوان ورودی می‌گیرد و تا جایی که ممکن است آن را به یک عدد صحیح تبدیل می‌کند. اگر کاراکتری در رشته وجود داشته باشد که به عنوان عدد معتبر نباشد، parseInt تبدیل را تا همان جا متوقف می‌کند و نتیجه را بر می‌گرداند. این نکته بسیار مهم است، زیرا ممکن است در بعضی مواقع به نتایجی غیرمنتظره برسد.


تابع parseInt دارای یک پارامتر دوم اختیاری به نام radix است که پایه عددی را تعیین می‌کند. این پارامتر مشخص کننده‌ی این است که عدد در چه سیستمی (مثلا دودویی، دهدهی، شانزده‌دهی) قرار دارد. به طور پیش‌فرض، این مقدار برای اعدادی که با '0x' یا '0X' شروع می‌شوند، شانزده‌دهی و برای سایر موارد دهدهی در نظر گرفته می‌شود.


به دلیل این که خطاهای احتمالی در نتیجه وجود دارند، همیشه توصیه می‌شود که از این پارامتر radix به شکل صریح استفاده کنید. این کار همچنین باعث افزایش خوانایی و شفافیت کد شما می‌شود. به عنوان برنامه‌نویس، حتی اگر ورودی‌هایتان کنترلی و مشخص باشند، همواره باید در نظر داشته باشید که ممکن است تغییری وجود داشته باشد و این موضوع خود را به شما نشان دهد.


<script>
const number1 = parseInt('42');
const number2 = parseInt('1010', 2);
const number3 = parseInt('2F', 16);
const number4 = parseInt('123abc');
</script>

توضیحی خط به خط از کد


<script>:
ابتدای بخش کد جاوااسکریپت.
const number1 = parseInt('42');:
رشته '42' به عدد صحیح 42 تبدیل می‌شود.
const number2 = parseInt('1010', 2);:
رشته '1010' در پایه 2 به عدد 10 تبدیل می‌شود.
const number3 = parseInt('2F', 16);:
رشته '2F' در پایه 16 به عدد 47 تبدیل می‌شود.
const number4 = parseInt('123abc');:
رشته '123abc' تا قبل از 'abc' به عدد صحیح 123 تبدیل می‌شود زیرا 'abc' اعداد معتبری نیستند.
</script>:
پایان بخش کد جاوااسکریپت.

سوالات متداول

؟

چرا باید از پارامتر دوم parseInt به نام radix استفاده کنیم؟

؟

اگر یک کاراکتر غیرمعتبر در رشته وجود داشته باشد چه اتفاقی می‌افتد؟

؟

آیا parseInt می‌تواند برای تبدیل مقادیر اعشاری هم استفاده شود؟