Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

аналог div и mod для не integer [D7, WinXP]


ghg ©   (2004-10-13 11:26:00) 

есть переменная типа single
нужно знать остаток ее от деления на целое и тоже самое относительно div

никак не могу придумать чтобы все случаи учесть (отрицательные числа и т.д.)
может у кого есть готовое?


ghg   (2004-10-13 12:50:00) [1]

2 VMcL ©   (13.10.04 12:14) [6]
сенкс, именно Int и искал


Anatoly Podgoretsky   (2004-10-13 12:46:00) [2]

ghg ©   (13.10.04 11:32) [2]
Не 2, а 2.98...
Остаток 0, число поделилось без остатка


cvg   (2004-10-13 12:17:00) [3]

Чем тебе floor для положительных и ceiling для отрицательных не нравится? А еще лучше -- int.


VMcL   (2004-10-13 12:14:00) [4]

>> ghg ©  (13.10.04 11:42) [4]

function FloatDiv(const A, B: Double): Double;
begin
 Result := Int(A / B);
end;

function FloatMod(const A, B: Double): Double;
begin
 Result := A - Int(A / B) * B;
end;


Amoeba   (2004-10-13 12:12:00) [5]


> ghg ©   (13.10.04 11:42) [4]

Посмотри, какие ф-ии есть в модуле Math. Полагаю, тогда решение само придет в голову.


ghg   (2004-10-13 11:42:00) [6]

и как мне найти эту дробную часть?
пользоваться Round() и после этого из переменной вычитать то что получилось после округления учитывая в какую сторону мы округлили так что ли?

может есть правильнее способ?


cvg   (2004-10-13 11:33:00) [7]

Умножай дробную часть частного на делитель. Для отрицательных думай сам.


ghg   (2004-10-13 11:32:00) [8]

почему?
134.25/45=2 плюс остаток 44.25


Anatoly Podgoretsky   (2004-10-13 11:29:00) [9]

Функция mod не имеет смысла для чисел с плавающей запятой, нет там ни каких остатков, всегда делится.


Наверх

Титульная страница Поиск, карта сайта Написать письмо