Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Округлить в меньшую сторону
Другими словами отнимаю 15%, пример: ((49-41.65)/49)*100=15% - все верно.
Но каким образом сделать так, чтобы когда я считаю: ((49-42)/49)*100=14% - это отображалось как 15%.
Как правильно округлять, чтобы получать правильный процент?
Я перепробовал разные подходы: round(), ceil(), floor(); а так же разные параметры для round... Не могу сообразить, помогите разобраться.
Покинул форум
Сообщений всего: 1131
Дата рег-ции: Февр. 2014
Помог: 57 раз(а)
jess23 пишет:
Я спрашиваю за то каким образом можно округлять такие значения?
Если я получаю даже меньше 14,5% как мне подогнать это к 15%...
Есть округление в меньшую сторону, есть округление в большую сторону, есть округление в сторону ближайшего чётного, есть округление в сторону ближайшего нечётного...
Выбирайте любое, или их комбинацию для получения требуемого по условиям ТЗ числа определённой точности (целого, или z знаков после десятичной запятой)...
Ведь не 15-ю процентами лишь...
А если и 15-ю, то - до ближайшего нечётного
И то - если уверены, что рассчитанная величина будет лежать в интервале (14-16)
ceil не всегда считает как нужно, как-раз в этом моменте получается ошибка:
((45-38)/45)*100=15,5555555% - в этом моменте нужно ловить 15%.
45 - Стоимость товара
38 - Округленная скидка с 15% (я могу её округлить только в большую или меньшую сторону)
SAD
Отправлено: 25 Сентября, 2015 - 10:52:42
Постоянный участник
Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009 Откуда: Днепропетровск, Украина
Помог: 75 раз(а)
то есть, вы всегда пытаетесь выйти на 15%, при этом предварительно изменив цену товара в какую - то сторону? ну такое. есть вариант, но он для извращенцев.
если вы округилил цену в системе в большую сторону, то берете ceil для итогового процента, иначе floor. но это работает только для одного товара.
мини - вывод. что - то в вашей логике не то. а не то, имхо, округление товара в системе, а потом пытаться подгонять результат
Marattt
Отправлено: 25 Сентября, 2015 - 10:57:47
Новичок
Покинул форум
Сообщений всего: 11
Дата рег-ции: Сент. 2015
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.