زبان PHP انواع توابع برای ساخت سایت های مختلف را به ما می دهد. این زبان کدنویسی و طراحی سایت را می توان هم برای راه اندازی سایت ها و هم نرم افزارهای تحت وب استفاده کرد. یکی از توابع محاسباتی که ممکن است برخی از سایت های مالی و محاسباتی به آن نیاز داشته باشند، گرد کردن اعداد اعشاری جهت نمایش بهتر به کاربران است. مانند سایت های قیمت گذاری یا فروشگاهی که ممکن است اعداد اعشاری درون آنها استفاده شود. در این تاپیک از انجمن بیتاک قصد داریم شما را با تابع round در PHP آشنا کنیم.
تابع round()
برای گرد کردن اعداد اعشاری مثبت و منفی استفاده می شود. در ادامه نمونه هایی از این کاربرد این تابع مثال زده شده است که می توانید در پروژه هایتان بر حسب نیازتان از آنها استفاده کنید:
<?php
echo(round(1.60)); // خروجی 2
echo(round(1.50)); // خروجی 2
echo(round(1.49)); // خروجی 1
echo(round(-4.40)); // خروجی -4
echo(round(-4.60)); // خروجی -5
?>
نحوه کار این تابع دقیقا همانند محاسبات در ریاضیات است. اعشار زیر 50 به سمت پایین گرد شده و اعداد بالای 50 به سمت بالا گرد می شوند. خود اعشار 50 هم به سمت بالا گرد می شود. اعداد منفی هم به همین صورت.
نمونه های بالا، برای گرد کردن اعشار و حذف اعشار استفاده می شوند. اما اگر نیاز دارید که اعشار را داخل سایتان داشته باشید و گرد کردن را برای اعشار انجام دهید، نمونه های زیر می تواند برایتان مفید باشند:
<?php
echo(round(1.6056242 , 1)); // خروجی 1.6
echo(round(1.6056242 , 2)); // خروجی 1.61
echo(round(1.6056242 , 3)); // خروجی 1.606
echo(round(1.6056242 , 4)); // خروجی 1.6056
echo(round(1.6056242 , 5)); // خروجی 1.60562
?>
در نمونه بالا، اگر دقت کنید بعد از اعداد، به ترتیب در هر خط اعداد 1 تا 5 دیده می شود. این اعداد در واقع به معنای تعداد اعشاری است که در خروجی باید نمایش داده شود. برای مثال در اولین کد، تابع ما موظف است اعداد اعشاری را گرد کند و فقط یک اعشار بعد از نقطه را در خروجی نمایش دهد. به همین ترتیب تا نمونه آخر می توانید خروجی و کد را بررسی کنید.
در کدهای بالا، اعدادی که باید عملیات گرد شدن روی آنها انجام شود داخل هر تابع به صورت دستی وارد شده اما اگر بخواهید عدد این قسمت را از توابع و کدهای دیگر دریافت کنید، می توانید بجای عدد از پارامترها استفاده کنید. مثال:
<?php
$betalk = 1.6056242;
echo(round($betalk , 1)); // خروجی 1.6
echo(round($betalk , 2)); // خروجی 1.61
echo(round($betalk , 3)); // خروجی 1.606
echo(round($betalk , 4)); // خروجی 1.6056
echo(round($betalk , 5)); // خروجی 1.60562
?>
یا هر تابعی که خروجی آن یک عدد خاصی باشد را می توانید در خط اول در پارامتر وارد کنید.