Форум: "Потрепаться";
Текущий архив: 2005.07.18;
Скачать: [xml.tar.bz2];
ВнизФункция округления от Мелкософта Найти похожие ветки
← →
Seg (2005-06-22 16:32) [0]Число 2210,5 ВизуалВасик округлил до 2210.
Есть какие-нибудь идеи?
← →
Kerk © (2005-06-22 16:33) [1]все правильно. округляет до ближайшего четного в таких случаях
← →
Суслик © (2005-06-22 16:35) [2]Вопрос по сабжу.
Вроде это назвается банковским округлением. И именно оно реализовано в MS в OLE типах (decimal и currency).
Вопрос. Что американцев учат иначе округлять чем нас?
← →
старый маразматикЪ (2005-06-22 16:41) [3]
> Суслик © (22.06.05 16:35) [2]
если память не изменяет, тут дело в проце, а не в ф-циях. пришлось писать свою ф-цию округления. смысл - добавлять незначащий разряд перед округлением. т.е. если округлять до 0.055 до 2 десятых, то изменять значение перед округлением до 0.0551
зы. шо-то весьма сумбурно получилось, мдя
← →
Seg (2005-06-22 16:44) [4]Но если это же число 2210,5 поставить в Excel и сделать формат числа без десятичных знаков, то число округляется до 2211.
Где логика?
← →
Суслик © (2005-06-22 16:45) [5]Логика в том, что правила округления деклирируются соответствующими стандартами, коих много.
← →
DiamondShark © (2005-06-22 16:47) [6]
> Что американцев учат иначе округлять чем нас?
Не американцев, а бухгалтеров.
Если просуммировать большой массив округлённых чисел, то при "школьном" округлении набежит большая погрешность.
А нас учат флажок в процессоре ставить.
← →
Суслик © (2005-06-22 16:48) [7]
> [6] DiamondShark © (22.06.05 16:47)
Не умничай:))
Есть тип decimal и currency, к которым твой флажок отношения не имеет.
← →
Seg (2005-06-22 16:51) [8]И как объяснить заказчику, что много разных стандартов округления?
Как установить "школьный" формат округления?
← →
Суслик © (2005-06-22 16:53) [9]
> [6] DiamondShark © (22.06.05 16:47)
> Не американцев, а бухгалтеров.
Если можно, то вопрос по поводу этого.
Когда началась эксплуатация нашей бухгалтерской системы, то все бухгалтера, которые пользовались системой на начальном этапе (их около 100 было), говорили, что это за ацццтой - почему не так округляет.
А округляло действительно до ближ. четного - я пользуюсь decimal (VarType = 14) из OLE automation. Там реализовано именно такое огругление.
Поэтому вопрос. Может это все-таки американских бухгалтеров так учат?
← →
Seg (2005-06-22 16:54) [10]Меня не волнует, кого чему учат.
Мне надо, чтобы округление было правильным, а не банковским.
← →
Суслик © (2005-06-22 16:55) [11]
> [8] Seg (22.06.05 16:51)
> И как объяснить заказчику, что много разных стандартов округления?
> Как установить "школьный" формат округления?
напиши свою функцию округления
← →
старый маразматикЪ (2005-06-22 16:59) [12]
> DiamondShark © (22.06.05 16:47) [6]
как-то пробовал, не упомню уже какой. это, кажись
TFPURoundingMode = (rmNearest, rmDown, rmUp, rmTruncate)
и SetRoundMode
не фурычит
← →
Seg (2005-06-22 17:01) [13]А где же все умники, которые пели дефирамбы Биллу?
Может все-таки есть какая-нибудь опция округления?
← →
by © (2005-06-22 17:18) [14]Seg (22.06.05 17:01) [13]
Если умеешь читать, то вот тебе в помощь
http://support.microsoft.com/default.aspx?scid=kb;en-us;196652
← →
Seg (2005-06-22 17:42) [15]Visual Basic for Applications does not have any function that does arithmetic rounding.
Этим все сказано.
← →
Fay © (2005-06-22 17:49) [16]это до ближайшего чётного.
хочешь, проверь в delphi - будет то же самое 8)
← →
by © (2005-06-22 17:53) [17]Fay © (22.06.05 17:49) [16]
будет то же самое
Это точно.
И в Delphi и в MS C# прилось писать свои функции.
← →
Anatoly Podgoretsky © (2005-06-22 17:55) [18]Seg (22.06.05 16:54) [10]
Что еще за волюнтаризм
← →
Seg (2005-06-22 18:04) [19]Волюнтаризм пишется через "а", насколько мне известно.
← →
Игорь Шевченко © (2005-06-22 18:06) [20]Seg (22.06.05 18:04) [19]
> Волюнтаризм пишется через "а", насколько мне известно
Он пишется через черточку. Вол-юнтаризм.
> А где же все умники, которые пели дефирамбы Биллу?
А вот слово "дифирамбы" пишется так, как написано в кавычках.
← →
марсианин © (2005-06-22 18:35) [21]может это и не округление вовсе, а отсечение дробной части?
тогда прибавляй 0,5 перед таким "округлением"
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2005.07.18;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.036 c