Округление чисел в большую/меньшую сторону в Delphi

Другое   5 Февраль 2012  Автор статьи: admin 

В этой статье я покажу две различные небольшие функции, позволяющие округлять числа как в большую так и в меньшую сторону.

Для округления числа в большую сторону воспользуемся следующей функцией:

1
2
3
4
5
6
7
8
function RoundLarger(Value, Divider: Integer): Integer;
asm
mov ecx, edx
cdq
idiv ecx
imul ecx
add eax, ecx
end;

Пример работы с функцией:

1
ShowMessage(IntToStr(RoundLarger(10, 3))); //в результате функция вернет число 12

Здесь в переменную Value функции мы должны передать исходное число, а в переменную Divider, делитель числа, до которого мы будем округлять. Аналогично работает и следующая функция.

Для округления числа в меньшую сторону воспользуемся этой функцией:

1
2
3
4
5
6
7
function RoundLess(Value, Divider: Integer): Integer;
asm
mov ecx, edx
cdq
idiv ecx
imul ecx
end;

Пример использования функции RoundLess:

1
ShowMessage(IntToStr(RoundLess(12, 5))); //в результате функция вернет число 10

Научиться программировать

  • на Delphi

  • на Java

  • на C++