![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#5
|
|||
|
|||
|
ОК.
Если у нас длинна цифры = 2, то округляем один разряд. Если длинна цифры = 3, то округляем 2 разряда, Если длинна цифры = 4, то округляем 3 разряда, и т.д. Исключение - один разряд, всегда округляем до 10. Соответсвенно, код будет выглядеть примерно так: Код:
function RoundSpecial(N : Integer) : Integer;
var
Buf : String;
begin
Buf := IntToStr(Abs(N)); // Abs - убираем "-"
If Length(Buf) = 1
Then Result := Sign(N) * 10 // Sign - возвращаем "-"
Else Result := RoundTo(N,-1 * (Length(Buf)-1));
end; |