PDA

View Full Version : سوال: درصد اختلاف دو عدد در php



bluetooth153
جمعه 30 تیر 1391, 14:04 عصر
سلام
تو پی اچ پی چطور میشه میزان اختلاف دو عدد رو به درصد نشون داد؟
مثلا عدد 100 و 50 رو بررسی کنه و بگه 50% با هم اختلاف دارن؟
خواهش میکنم اگه بلدین جواب بدین کارم گیره
مرسی

bluetooth153
جمعه 30 تیر 1391, 14:08 عصر
ببخشید دوستان خودم فهمیدم
باید عدد اول از عدد دوم کم بشه و بعد در 100 ضرب بشه

tehro0n
جمعه 30 تیر 1391, 15:23 عصر
این دیگه سوالی نیست که بگید تو php چطور میشه حساب کرد! این ریاضیه..
اگه یک طرف قضیه 100 باشه که بله از 100 کم می کنید
اگه دو عدد مثل 20 شده 25 باشه که شما 1/4 زیاد شده پس میشه 25% افزایش
در واقع 20% رو برابر 25 تقسیم بر ؟ می کنیم و طرفین وسطین ریاضی :دی

ولی اگه 1 بشه هر عددی میشه 100% افزایش
اگه 50 بشه 10 آن وقت شما 80% کاهش داشتید
و اگه هر عدد بشه 1 شما 100% کاهش داشتید
این یک فرمولی داره که باید خودتان با توجه به خواسته تان بنویسید

MMSHFE
جمعه 30 تیر 1391, 17:10 عصر
از این تابع استفاده کنید:


function difference($number1, $number2, $precision = 2) {
$max = abs(max($number1, $number2));
$min = abs(min($number1, $number2));
if($max == 0) {
return '0%';
}
return round($min / $max * 100, $precision) . '%';
}

پارامتر اول و دوم، دو عدد موردنظرتون هستن و پارامتر سوم که اختیاریه، دقت موردنظر هست که پیشفرضش دو رقم اعشاره.
این تابع اختلاف دو عدد رو برحسب درصد بهتون نشون میده. موفق باشید.

bluetooth153
جمعه 30 تیر 1391, 21:32 عصر
ممنون از جوابتون
من خودم فرمول ریاضیشو پیدا کردم میزارم برا بقیه دوستان:
min=adade kochektar
max=addade bozorgtar
darsad=((max-min)/max)*100

tehro0n
شنبه 31 تیر 1391, 13:19 عصر
از این تابع استفاده کنید:


function difference($number1, $number2, $precision = 2) {
$max = abs(max($number1, $number2));
$min = abs(min($number1, $number2));
if($max == 0) {
return '0%';
}
return round($min / $max * 100, $precision) . '%';
}

پارامتر اول و دوم، دو عدد موردنظرتون هستن و پارامتر سوم که اختیاریه، دقت موردنظر هست که پیشفرضش دو رقم اعشاره.
این تابع اختلاف دو عدد رو برحسب درصد بهتون نشون میده. موفق باشید.
البته شرط ها رو باید بیشتر کرد
برای مثال اگه 0 بشه هر عدد 100 نشون نمی ده یا اگه 1 بشه 2 برای شما 50% نشون می ده ولی 100% هست و ..!