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

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

Как считать выражение с заданной точностью? [D5, Win95/98]


vovaS ©   (2002-03-11 18:52:00) 

Есть два числа типа extended. Делю одно на другое, а результат мне возвращаеться в експоненциальном виде.

Например: 15/1000000=1.5е-5.

Как сделать, чтобы вернуло 0.000015?


kull   (2002-03-16 21:25:00) [1]


> XOY
> Ну можешь так попробовать:

Шутка?


XOY   (2002-03-11 20:12:00) [2]

Забыл сказать: пораметр p2 - до какого знака округлять. Только один глюк есть. Если дробная часть короче чем p2 то остальное нулями заполняется т.е. RealToStr(1.11, 5) = 1,11000.


XOY   (2002-03-11 20:00:00) [3]

Ну можешь так попробовать:

function RealToString(p1: real; p2: byte): string;
var
cel: int64;
i: byte;
mn: integer;
dr: string;
begin
cel:= Trunc(p1);
mn:= 1;
for i:= 1 to p2 do mn:= mn*10;
dr:= inttostr(abs(round((p1 - cel)*mn)));
RealToString:= inttostr(cel) + "," + dr;
end;


MBo   (2002-03-11 19:31:00) [4]

посмотри Format, FloatToStrF, FormatFloat и т.п.


Наверх

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