проблема с округлением баг?

АлексейК
Дата: 08.04.2002 08:15:56
случайно обратил внимание что у меня при выполнении

int или fix выдает неверный результат
например int(42,9) = 42 вместо 43

acsess 2002 10.3409.3501.SP-1
Дмитрий Филатов
Дата: 08.04.2002 08:47:52
На самом деле все правильно.
Функция INT округляет число до ближайшего меньшего целого (по сути- это отброс дробной части).
А вот функция Round - это как раз то, что вам нужно
АлексейК
Дата: 08.04.2002 11:05:48
Спасибо за подсказку.
лопухнулся, не доводилось раньше пользоваться округлением...
Sfagnum
Дата: 09.04.2002 12:06:11
To Дмитрий Филатов:
В 97 Я что то не нашёл функции Round
Заодно раз вы сталкивались с подобными вопросами, может подскажете функцию округления с заданной точностью и "направлением", т.е. мне надо целое число округлять до 0 на конце в большую сторону

Заранее спасибо
Sfagnum
BAlex
Дата: 09.04.2002 12:29:53
Если мне память не изменяет, нет там функции Round. Самому придется ее писАть.
Sfagnum
Дата: 09.04.2002 12:58:43
Что я и сделал, но теплилась надежда что встроенная есть, всё таки они пошустрее будут
BAlex
Дата: 09.04.2002 13:41:39
Надежда умирает, причем всегда...
SysOp
Дата: 09.04.2002 14:41:53
Чему там пошустрее быть? И так просто до безумия. Прибавь к числу 0.5 и int'ом его! Так огруглишь до целых... Прибавь сюда операции умножения и деления и можешь округлять с любой точностью кратно любому числу. Хотя конечно можно и на С++ наваять dll или ActiveX и дергать его...
Sfagnum
Дата: 10.04.2002 06:14:43
To BAlex

To SysOp
Я уже сделал в ручную, но хотел то, если не быстрее, то хотя бы... как это... ну красивее, что ли...
"Хотя конечно можно и на С++ наваять dll или ActiveX и дергать его..." - не стоит оно того