![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Погрешность при делении [D6, NT4]
Georg © (2002-04-25 13:15:00)Возможно кто-нибудь уже сталкивался с такой проблемой:
есть панель, на нее надо равномерно накидать напр. 9 Бевелей. Делал так:
Bevel.Width := Panel.Width div 9
Однако после последнего Бевеля остается пустое пространство, накапливается погрешность от целочисленного деления. Как можно этого избежать?
Спасибо заранее.
Anatoly Podgoretsky (2002-04-25 13:32:00) [1](Panel.Width - Bevel.Width * 9) < 9
Ally (2002-04-25 13:29:00) [2]А проще и правильней, наверное будет сдлеать так:
Bevel.Width := Round(Panel.Width / 9)
Ally (2002-04-25 13:24:00) [3]Я думаю, пустое пространство - не погрешность, а остаток от деления, т.е.:
Rem := Panel.Width mod 9;
где Rem - значения остатка от деления, и => ширина этого пустого пространства. Думаю сделать надо так:
Bevel.Width := (Panel.Width + Rem) div 9;