Вниз
Скачать: CL | DM;

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

 
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
> Ну можешь так попробовать:

Шутка?



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.009 c
1-90926
kronos
2002-03-13 13:50
2002.03.28
Можно ли так сравнивать?


14-91081
vopros
2002-02-12 17:22
2002.03.28
Так что же все таки подарить Ж на 14 февраля?


6-91021
Sregey
2001-11-22 17:49
2002.03.28
Все та же ошибка 10055 при попытке подключения TClientSocket


3-90813
Ars P
2002-02-27 10:28
2002.03.28
Организация среднего (большого) проекта интерфейса к БД


1-90983
Tadeush
2002-03-15 10:37
2002.03.28
Hint




   Наверх