Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.28;
Скачать: [xml.tar.bz2];




Вниз

Как считать выражение с заданной точностью? 


vovaS   (2002-03-11 18:52) [0]

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

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

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



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

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



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

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

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;



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

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



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


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

Шутка?




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.28;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.051 c
6-91009           KHunter               2002-01-11 08:59  2002.03.28  
тонкий клиент


1-90967           SB                    2002-03-15 02:19  2002.03.28  
Размер MDI формы


3-90732           Yakudza               2002-02-28 11:54  2002.03.28  
Ошибка при исполнении процедуры.


7-91082           Fellomena             2001-12-20 12:37  2002.03.28  
GetWindow Vs CreateToolhelp32Snapshot - search, detect and destroy...


3-90779           alexbl                2002-03-04 03:07  2002.03.28  
ListBox