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

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

Округление числа? [D7]


SASH2 ©   (2004-08-12 14:03:00) 

Добрый день!
На форме есть компонент Edit. В него ввожу цифири, например: 12.239 (float). Подскажите пожалуйста как можно сделать округление числа, т.е. чтоб было 12.240


OSokin   (2004-08-12 19:54:00) [1]

Вот, накопал в FAQ:

function RoundEx( X: Double; Precision : Integer ): Double;
{Precision :
1   - до целых
10  - до десятых
100 - до сотых
...
}
var  ScaledFractPart, Temp : Double;
begin
 ScaledFractPart := Frac(X)*Precision;
 Temp := Frac(ScaledFractPart);
 ScaledFractPart := Int(ScaledFractPart);
 if Temp >=  0.5 then ScaledFractPart := ScaledFractPart + 1;
 if Temp <= -0.5 then ScaledFractPart := ScaledFractPart - 1;
 RoundEx := Int(X) + ScaledFractPart/Precision;

end;


begin...end   (2004-08-12 15:05:00) [2]


> [5] SASH2   (12.08.04 14:28)


function RoundTo(const AValue: Double; const ADigit: TRoundToRange): Double;
> И что в эту функцию вписывать?

Наверняка ты взял описание синтаксиса функции из help'а. Трудно было прочитать дальше?

Для округления 12.239 до 12.240 (насколько я понял твоё желание) ADigit должно быть равно -2.


SASH2   (2004-08-12 14:28:00) [3]

function RoundTo(const AValue: Double; const ADigit: TRoundToRange): Double;
И что в эту функцию вписывать?


QQ   (2004-08-12 14:18:00) [4]

RoundToиз модуля Math


Sandman25   (2004-08-12 14:12:00) [5]

[2] SASH2   (12.08.04 14:10)

Оставить где, в числе? Или при его выводе в виде текста?


SASH2   (2004-08-12 14:10:00) [6]

А как можно оставить только три знака после запятой, т. е. если у нас, например: 12.246653778, то оставить только 12.246?


_student   (2004-08-12 14:05:00) [7]

Написать функцию MyRound(i:integer):integer;


Наверх

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