Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.01.14;
Скачать: CL | DM;

Вниз

Очень срочно надо   Найти похожие ветки 

 
Kevin   (2001-12-26 15:38) [0]

Как округлить переменую типа Float до нужного знака???


 
MBo ©   (2001-12-26 15:41) [1]

используй FloatToStrF или Format


 
Turalyon ©   (2001-12-26 15:50) [2]

Я делал так
Надо округлить до 3 знака:
....
f : float;
...
begin
f := round ( f * 1000 )/1000;

Если на 4 знака, то соответсятвенно на 10000 и т.д.
Знаю что через з..цу а что делать :)


 
Kevin   (2001-12-26 16:41) [3]

Большое спасибо. Вы меня выручили!


 
handra ©   (2001-12-26 18:04) [4]

только с round есть тонкости, о чем уже писалось:
round(27.5)=round(28.5)


 
asafr ©   (2001-12-26 18:11) [5]

И использовать лучше не f : float, а f :Double;


 
SergVlad ©   (2001-12-26 22:42) [6]

Еще вариант
Str(X:4:3,S);
X := StrToFloat(s);
Еще
X := StrToFloat(FormatFloat("#.##", X );)



 
Lumi   (2001-12-27 10:31) [7]

Если есчё нужно: Я использую такой вариант округления чисел с плавающей точкой:

function Degree(Num: Double; Deg: Integer): Double;
var
I: Integer;
Begin
if Num <> 0 then
begin
Result := 1;
if Deg < 0 then
for I := 1 to abs(Deg) do Result := Result / Num
else
for I := 1 to Deg do Result := Result * Num;
end
else
Result := 0;
end;

function RoundEx(Value: Double; ADecimal: Integer): Double;
var
I, D, tmp: Double;
begin
D := Degree(10, ADecimal);
if D <> 0 then
begin
I := Frac(Value) * D;
tmp := Frac(I);
I := Int(I);
if tmp >= 0.5 then I := I + 1;
if tmp <= -0.5 then I := I - 1;
Result := Int(Value) + I / D;
end
else
Result := Value;
end;

Кстати о вышеизложенном
1) преобразование в строки не стоит использовать (ненужная куча нагрузки)
2) Round - преобразует только в целые числа, если число больше чем maxInt, то Exeption



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

Текущий архив: 2002.01.14;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.008 c
1-42461
User
2001-12-25 08:49
2002.01.14
Как же мне отрисовать самому строки в TListView?


6-42534
Serega_2
2001-10-10 15:47
2002.01.14
Киньте плз компонент/исходник, который осуществлял соединение по ssh-протоколу.


4-42617
Art
2001-10-31 13:19
2002.01.14
Как можно увидеть запущен ли exe?


4-42612
sandman
2001-11-10 20:34
2002.01.14
Отсылка сообщения через OLE


1-42405
Andrey196
2001-12-26 18:48
2002.01.14
Как в строку добавить значок