علیرضا تحریری
علیرضا تحریری
خواندن ۲ دقیقه·۲ ماه پیش

راهنمای کامل استفاده از Math.trunc() در جاوااسکریپت زمان مطالعه:4دقیقه

راهنمای کامل استفاده از Math.trunc() در جاوااسکریپت
زمان مطالعه:4دقیقه
راهنمای کامل استفاده از Math.trunc() در جاوااسکریپت زمان مطالعه:4دقیقه


این متد که در نسخه ES6 جاوااسکریپت معرفی شده که با حذف قسمت اعشاری، بخش صحیح یک عدد را برمی‌گرداند. برخلاف روش‌های گرد کردن که عدد را به بالا یا پایین تغییر می‌دهند، ()Math.trunc فقط اعشار را حذف کرده و عدد صحیح را بدون هیچ تغییری برمی گرداند، مثال:

console.log(Math.trunc(13.37)); // Expected output: 13 console.log(Math.trunc(42.84)); // Expected output: 42 console.log(Math.trunc(0.123)); // Expected output: 0 console.log(Math.trunc(-0.123)); // Expected output: -0

ساختار (Syntax)

Math.trunc(x)

پارامترها (Parameters)

X: عددی که باید پردازش شود.

مقدار بازگشتی (Return Value)

بخش صحیح عدد X.

توضیحات (Description)

برخلاف سه متد دیگر در Math یعنی Math.floor() ، Math.ceil و ()Math.round، متد ()Math.trunc بسیار ساده عمل می‌کند. این متد، نقطه و ارقام سمت راست آن را حذف می‌کند، بدون توجه به اینکه عدد مثبت یا منفی باشد.  از آنجایی که trunc یک متد ایستا (static) در Math است، همیشه به صورت ()Math.trunc استفاده می‌شود و نیازی به ساختن یک شیء جدید از Math نیست (چرا که Math یک constructor نیست).

مثال‌ها (Examples)

استفاده از ()Math.trunc

Math.trunc(-Infinity); // -Infinity Math.trunc(&quot-1.123&quot); // -1 Math.trunc(-0.123); // -0 Math.trunc(-0); // -0 Math.trunc(0); // 0 Math.trunc(0.123); // 0 Math.trunc(13.37); // 13 Math.trunc(42.84); // 42 Math.trunc(Infinity); // Infinity

استفاده از عملگرهای بیت‌وایز برای حذف اعشار (Using Bitwise No-Ops to Truncate Numbers)

در جاوااسکریپت، می‌توان از عملگرهای بیت‌وایز برای حذف قسمت اعشاری عدد استفاده کرد. این روش‌ها به‌طور خودکار عدد را به مقدار صحیح آن تبدیل می‌کنند، مشابه عملکرد ()Math.trunc . به عنوان مثال:

console.log(13.37 | 0); // 13 console.log(42.84 | 0); // 42 console.log(-0.123 | 0); // 0 console.log(-13.37 | 0); // -13

عملیات بیت‌وایز عملگرهای خود را به اعداد صحیح 32 بیتی تبدیل می‌کنند و در طول تاریخ، برنامه‌نویسان از این ویژگی برای کوتاه کردن اعداد اعشاری استفاده کرده‌اند. تکنیک‌های رایج عبارتند از:

const original = 3.14; const truncated1 = ~~original; // Double negation const truncated2 = original & -1; // Bitwise AND with -1 const truncated3 = original | 0; // Bitwise OR with 0 const truncated4 = original ^ 0; // Bitwise XOR with 0 const truncated5 = original >> 0; // Bitwise shifting by 0

توجه داشته باشید: این عمل در واقع به toInt32 شبیه است که با Math.trunc متفاوت است. اگر مقداری که می‌خواهیم تبدیل کنیم بین اعداد  −2147483649 تا 2147483648 نباشد، عمل تبدیل با خطای سرریز (Overflow Error) مواجه می‌شود.

const a = ~~2147483648; // -2147483648 const b = ~~-2147483649; // 2147483647 const c = ~~4294967296; // 0

تنها زمانی از ~~ به عنوان جایگزینی برای Math.trunc() استفاده کنید که مطمئن باشید ورودی‌ها در محدوده اعداد صحیح 32 بیتی قرار دارند.

در این مقاله با `متد Math.trunc در جاوااسکریپت` آشنا شدید. امیدوارم که این مقاله برای شما مفید بوده باشد. اگر هر سوال/مشکلی در خصوص این مقاله داشتید حتما در قسمت نطرات سایت با ما در میان بگذارید.

منبع: وبسایت میموک

سلام علیرضا تحریری هستم برنامه نویس بک اند که با فریم های Laravel،‌ Livewire، Lumen، Tailwind CSS، Alpine JS و ... کد مینویسم.
شاید از این پست‌ها خوشتان بیاید