Форум: "Начинающим";
Текущий архив: 2009.01.18;
Скачать: [xml.tar.bz2];
ВнизФункция округления до данного знака. Найти похожие ветки
← →
linx (2008-12-04 11:28) [0]Подскажите пожалуйста.
← →
Ega23 © (2008-12-04 11:37) [1]RoundTo + F1
← →
Григорьев Антон © (2008-12-04 11:45) [2]http://www.delphikingdom.com/asp/answer.asp?IDAnswer=66843
← →
Труп Васи Доброго © (2008-12-04 12:16) [3]> [1] Ega23 © (04.12.08 11:37)
> RoundTo + F1
Век живи - век учись! Один хрен - дураком помрёшь.
Даже не подозревал о существовании этой функции. Ещё ..надцать лет назад написал свою и до сих пор пользуюсь.
А эта RoundTo банковское округление делает, так что будь внимательнее при использовании. (это для
> [0] linx (04.12.08 11:28)
)
← →
stas © (2008-12-04 12:27) [4]Труп Васи Доброго © (04.12.08 12:16) [3]
Банковское это как?
← →
Григорьев Антон © (2008-12-04 12:29) [5]
> stas © (04.12.08 12:27) [4]
> Банковское это как?
Оно же - бухгалтерское, см. http://www.delphikingdom.com/asp/viewitem.asp?catalogID=1217
← →
Ega23 © (2008-12-04 12:31) [6]
> Банковское это как?
Там как-то четные в одну сторону, нечетные - в другую.
← →
stas © (2008-12-04 13:21) [7]ясно спасибо.
← →
Труп Васи Доброго © (2008-12-04 14:55) [8]> [4] stas © (04.12.08 12:27)
> Труп Васи Доброго © (04.12.08 12:16) [3]
> Банковское это как?
Банковское это так, округляет х.5 не до х+1, как в математическом округлении, а до ближайшего чётного числа. т.е. 1.5 округлится до 2 и 2.5 округлится до 2, а не до 3.
← →
Anatoly Podgoretsky © (2008-12-04 15:02) [9]> Труп Васи Доброго (04.12.2008 14:55:08) [8]
Ну не называй ты это математическим, это школьное укругление, простое.
← →
Loginov Dmitry © (2008-12-04 22:02) [10]для мат. округления:
function RoundSum(const ASumma: Double; Digits: Byte): Double;
var
MulValue: Integer;
Value: Extended;
begin
MulValue := Round(IntPower(10, Digits));
Value := ASumma * MulValue;
if Value < 0 then
Value := System.Trunc(Value - 0.5000000001)
else
Value := System.Trunc(Value + 0.5000000001);
Result := Value / MulValue;
← →
Григорьев Антон © (2008-12-05 10:25) [11]
> Loginov Dmitry © (04.12.08 22:02) [10]
> для мат. округления:
Не надо таких доморощенных функций, их аналоги протестированы здесь: http://www.delphikingdom.com/asp/viewitem.asp?catalogid=1218 - они дают ошибки
Возьмите лучше функию отсюда: http://cc.codegear.com/Item.aspx?id=21909 - те же самые тесты не выявили ни одной ошибки у этой функции.
← →
Loginov Dmitry © (2008-12-05 21:36) [12]> Не надо таких доморощенных функций, их аналоги протестированы
> здесь: http://www.delphikingdom.com/asp/viewitem.asp?catalogid=1218
> - они дают ошибки
хм...
я в шоке! RoundSum при округлении до копейки дохнет на значениях >= 16384.0450. Видимо, довесок 0.0000000001 перестает учитываться. :(
> Возьмите лучше функию отсюда: http://cc.codegear.com/Item.aspx?
> id=21909 - те же самые тесты не выявили ни одной ошибки
> у этой функции.
Спасибо! Думаю, обязательно встроим данное решение в нашу систему учета.
← →
Германн © (2008-12-06 00:43) [13]
> Григорьев Антон © (05.12.08 10:25) [11]
Где Вы, Антон были два года назад с таким советом?
:(
← →
AndreyV © (2008-12-06 05:12) [14]> [11] Григорьев Антон © (05.12.08 10:25)
> Возьмите лучше функию отсюда: http://cc.codegear.com/Item.aspx?
> id=21909 - те же самые тесты не выявили ни одной ошибки
> у этой функции.
Я эту функцию нашёл, когда заметил ошибки при расчете, благо было с чем сравнить. Интересно почему она так и не вошла в стандартные?
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2009.01.18;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.005 c