Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.01.14;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх















Память: 0.83 MB
Время: 0.025 c
4-42620
Севостьянов Игорь
2001-11-14 11:58
2002.01.14
Кто-нибудь работал с ReadEventLog ?


1-42417
Dim!S
2001-12-25 07:19
2002.01.14
Версии программ


14-42570
anod
2001-11-09 20:39
2002.01.14
Настройки Делфи


3-42355
madx
2001-12-08 22:11
2002.01.14
Ребят, подскажите начинающему...


3-42366
comwad
2001-12-11 13:50
2002.01.14
LIKE в хранимой процедуре





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский