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

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

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

Для округления числа в большую сторону воспользуемся следующей функцией:
[cc lang=»delphi»]function RoundLarger(Value, Divider: Integer): Integer;
asm
mov ecx, edx
cdq
idiv ecx
imul ecx
add eax, ecx
end;[/cc]
Пример работы с функцией:
[cc lang=»delphi»]ShowMessage(IntToStr(RoundLarger(10, 3))); //в результате функция вернет число 12[/cc]

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

Для округления числа в меньшую сторону воспользуемся этой функцией:
[cc lang=»delphi»]function RoundLess(Value, Divider: Integer): Integer;
asm
mov ecx, edx
cdq
idiv ecx
imul ecx
end;[/cc]

Пример использования функции RoundLess:
[cc lang=»delphi»]ShowMessage(IntToStr(RoundLess(12, 5))); //в результате функция вернет число 10[/cc]

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

  • на Delphi

  • на Java

  • на C++