یک تابع 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 تبدیل کنید تا خطاهای ممیز شناور کاهش یابد.

توسط پژوهشگر در 221 روز قبل ساعت 01:41
دسته بندی ها: PHP PHP for beginner
nima در 221 روز قبل ساعت 12:21

برای پیاده‌سازی کارآمد، مقدار ورودی را به float تبدیل کنید و هر عدد را با round($v, 2, PHP_ROUND_HALF_UP) به دو رقم اعشار گرد کنید، سپس از طریق array_sum مجموع را برگردانید. استفاده از PHP_ROUND_HALF_UP در مسائل مالی به دلیل کاهش اثرات Half-Even مناسب‌تر است. به دلیل حساسیت محاسبات پولی، ممکن است لازم باشد قبل از گرد کردن و جمع، با روش‌هایی مانند BCMath یا نمایش مقادیر به صورت رشته دقت را افزایش دهید. همچنین استفاده از array_map برای تبدیل آرایه ورودی به مقادیر گردش‌کرده روشی ساده و تمیز است.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری