Проблема С Округлением

  • Автор темы Автор темы rakot
  • Дата начала Дата начала
R

rakot

Доброго времени суток,коллеги-довольно тривиальная проблема но опыта мало а вариантов решения очень много крутится в голове(и не факт что правильных)Дело в слудеющем:пишу модуль аналитического отчёта,есть там нюанс когда общее кол-во некоего материала(целое число) делится ровно на 4 части(по кварталам) так вот деление надо произвести правильно если к примеру 123 то толково вывести 31,31,31,30 но в то же время перекрыть ситуацию подобную скажем делению на 121(думал о приведении первых трёх к int а последнее roundить,но не вариант,видимо нужен некий синтез всех вариантов ),вообщем я думаю у опытных людей наработок на сию тему много-поделитесь,спасибо)
 
Я думаю так, делишь как int, получается всегда округленное число к меньшему. и прибавляешь к каждому кварталу 1 если остаток деления больше или равен кварталу, т.е 123/4 = 30 и 3 в остатке, т.е. 1, 2, 3 квартал получают по +1. Если 122 то остаток 2 и тогда 1 и 2 квартал по +1. Если 120, то остаток 0 и соответственно ни где не добавляется.
 
толково,спасибо-всё оказалось проще чем я думал(пришла в голову мысль по поводу того что деля на 4 как money в первых трёх квараталах оставляю только целое число(каст в инт например) но перед этим забираю из них дробную часть которую прибавляю к четвёртому кварталу(в случае с тем же 123 выходит 30,30,30,33)) но в любом случае ваше решение несколько более элегантно,спасибо
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!