یک تابع PHP بنویسید که یک آرایه از اعداد (قیمتها) را دریافت کند، هر عدد را با استفاده از تابع round به دو رقم اعشار گرد کند و مجموع گردشدهها را برگرداند.
5.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:41 0.0
برای حل این مسئله در PHP میتوانید با استفاده از تابع round($value, 2, PHP_ROUND_HALF_UP) هر مقدار را به دو رقم اعشار گرد کنید، سپس با array_map آرایه را تبدیل و با array_sum جمع بزنید. توجه داشته باشید برای کاربردهای مالی از حالت PHP_ROUND_HALF_UP استفاده کنید تا از گردش "بانکداری" (Half-Even) جلوگیری شود و قبل از گرد کردن ورودیها را به float تبدیل کنید تا خطاهای ممیز شناور کاهش یابد.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای پیادهسازی کارآمد، مقدار ورودی را به float تبدیل کنید و هر عدد را با round($v, 2, PHP_ROUND_HALF_UP) به دو رقم اعشار گرد کنید، سپس از طریق array_sum مجموع را برگردانید. استفاده از PHP_ROUND_HALF_UP در مسائل مالی به دلیل کاهش اثرات Half-Even مناسبتر است. به دلیل حساسیت محاسبات پولی، ممکن است لازم باشد قبل از گرد کردن و جمع، با روشهایی مانند BCMath یا نمایش مقادیر به صورت رشته دقت را افزایش دهید. همچنین استفاده از array_map برای تبدیل آرایه ورودی به مقادیر گردشکرده روشی ساده و تمیز است.
گزارش