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

Тема в разделе "SQL", создана пользователем rakot, 3 окт 2011.

  1. rakot

    rakot Member

    Регистрация:
    9 июл 2009
    Сообщения:
    13
    Симпатии:
    0
    Доброго времени суток,коллеги-довольно тривиальная проблема но опыта мало а вариантов решения очень много крутится в голове(и не факт что правильных)Дело в слудеющем:пишу модуль аналитического отчёта,есть там нюанс когда общее кол-во некоего материала(целое число) делится ровно на 4 части(по кварталам) так вот деление надо произвести правильно если к примеру 123 то толково вывести 31,31,31,30 но в то же время перекрыть ситуацию подобную скажем делению на 121(думал о приведении первых трёх к int а последнее roundить,но не вариант,видимо нужен некий синтез всех вариантов ),вообщем я думаю у опытных людей наработок на сию тему много-поделитесь,спасибо)
     
  2. CSerX

    CSerX Гость

    Я думаю так, делишь как int, получается всегда округленное число к меньшему. и прибавляешь к каждому кварталу 1 если остаток деления больше или равен кварталу, т.е 123/4 = 30 и 3 в остатке, т.е. 1, 2, 3 квартал получают по +1. Если 122 то остаток 2 и тогда 1 и 2 квартал по +1. Если 120, то остаток 0 и соответственно ни где не добавляется.
     
  3. rakot

    rakot Member

    Регистрация:
    9 июл 2009
    Сообщения:
    13
    Симпатии:
    0
    толково,спасибо-всё оказалось проще чем я думал(пришла в голову мысль по поводу того что деля на 4 как money в первых трёх квараталах оставляю только целое число(каст в инт например) но перед этим забираю из них дробную часть которую прибавляю к четвёртому кварталу(в случае с тем же 123 выходит 30,30,30,33)) но в любом случае ваше решение несколько более элегантно,спасибо
     
Загрузка...
Похожие Темы - Проблема Округлением
  1. c0de3r
    Ответов:
    5
    Просмотров:
    115
  2. DobermannTT
    Ответов:
    10
    Просмотров:
    133
  3. SoulPaladin
    Ответов:
    3
    Просмотров:
    122
  4. Artael
    Ответов:
    1
    Просмотров:
    109
  5. ENSLER
    Ответов:
    0
    Просмотров:
    102

Поделиться этой страницей