Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 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
9-1112788372
Gaiti
2005-04-06 15:52
2005.07.18
Problems with animation


6-1113243378
peppo
2005-04-11 22:16
2005.07.18
Соединение через прокси


14-1119984447
ArMellon
2005-06-28 22:47
2005.07.18
Не будет ли данный код сильно тормозить исполнение скрипов?


1-1120201455
Катерина
2005-07-01 11:04
2005.07.18
COM-надстройки для Excel


14-1119623829
WondeRu
2005-06-24 18:37
2005.07.18
Ошибка "Класс TQuery не найден"





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский