Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.48 MB
Время: 0.006 c
15-1227066140
ArMellon
2008-11-19 06:42
2009.01.18
Нужен совет...


2-1228511695
Suntechnic
2008-12-06 00:14
2009.01.18
Нужнапомощь с запросом


2-1228195255
Sw
2008-12-02 08:20
2009.01.18
Тип данных


15-1226900583
mml
2008-11-17 08:43
2009.01.18
Вопрос к тем, кто читал книгу Агурова "Практика программирования


15-1227096604
GEN++
2008-11-19 15:10
2009.01.18
Пропала пол_л_итра компонентов в D5





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский