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

Вниз

Как округлить 0.0294... до 0.3   Найти похожие ветки 

 
Roman_   (2002-02-21 09:00) [0]

Никак не не найду функцию округления. Пробовал через FormatFloat
но это лишние преобразования туда и обратно. Может есть какая функция типа round, только для дробных чисел?


 
MBo ©   (2002-02-21 09:07) [1]

нет
x:=round(x*100)/100;


 
EsKor   (2002-02-21 10:05) [2]

В Delphi 6
Функции RoundTo, SimpleRoundTo
Округляют действительное число до заданного десятичного порядка.
Если в D5 нет таких, действуй как предложил MBo.
Смысл этих умножений и делений в том, что сначала увеличиваешь число на столько порядков до скольки десятичных порядков нужно округлить. При этом нужные десятые, сотые и т.д. переходят в целые. Потом округляешь до целых и возвращаешь порядок числа к первоначальному. Например, если нужно округлить до тысячных - умножаем на 1000 и т.п.


 
Black King   (2002-02-21 10:42) [3]

Vot primer.
Napisano korjavo, no pri zelanii mozno i perepisat".

Function FloatRound(Value: Extended; Digits: Integer): Extended;
var
Digits10: LongInt;
DigitsString: String;
begin
DigitsString:="1";
while Length(DigitsString)<Digits+1 do DigitsString:=DigitsString+"0";
Digits10:=StrToInt(DigitsString);
Result:=Round(Value*Digits10)/Digits10;
end;


 
Johnmen ©   (2002-02-21 10:49) [4]

>Black King : извини, но это бред сумасшедшего программера !


 
Брат ©   (2002-02-21 10:52) [5]

0,0294 к 0,3. Извини братец. Никак. Вот если 0,294 - это другой вопрос.


 
Awex ©   (2002-02-21 11:34) [6]

Можно и так:
........
RArray : array [0..5] of integer = 1,10,100,1000,10000,100000);
.........

function RoundEx(Value: Extended; n:integer);
begin
Result:=Round(Value*RArray[n])/RArray[n];
end;



 
Johnmen ©   (2002-02-21 11:40) [7]

Мужики, бросьте эти извраты на пустом месте ! Тем более, что автору ответ скорее всего уже не нужен...


 
Роман_   (2002-02-21 12:32) [8]

Thanks всем!!!


 
Black King   (2002-02-21 12:49) [9]

Sam znaju chto eto bred, potomu i napisal, chto korjavo napisano.

No luchshe eto, chem nichego. :o)



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

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

Наверх




Память: 0.48 MB
Время: 0.008 c
3-19042
mr_X
2002-02-05 17:12
2002.03.07
Between или not Between


1-19196
YouNick
2002-02-18 17:07
2002.03.07
Окно поверх всех окон (очень нужно)


14-19311
-=CrazyFish=-
2002-01-20 14:18
2002.03.07
нужен драйвер для CD RW TEAC CD-W524E


1-19191
avr555
2002-02-18 17:25
2002.03.07
К чему привязано меню!


1-19209
Игорь М
2002-02-19 10:44
2002.03.07
Печать на LBP 810