Форум: "Основная";
Текущий архив: 2002.06.27;
Скачать: [xml.tar.bz2];
ВнизКак округлить Real Найти похожие ветки
← →
Tutov Roman (2002-06-17 10:37) [0]Хочется округлить с определенной точностью . Ну например 2 знака после запятой.
← →
Kaban (2002-06-17 10:45) [1]умнож число на 100, выдели целую часть и подели на 100
← →
Tutov Roman (2002-06-17 11:24) [2]Сделал. ничего не изменилось
← →
Black Cat (2002-06-17 11:35) [3]RoundTo
← →
ZyreX (2002-06-17 11:48) [4]А у меня все вышло:
...
var
r: Real;
i: Integer;
begin
r := 123.456789;
i := Trunc(r * 100);
r := i / 100;
ShowMessage(FloatToStr(r));
end;
...
← →
Vovik (2002-06-17 12:03) [5]Попробуй FloatToStrF(..,..,..,) - параметры точно не помню, но в Help-e найдешь.
← →
AK-74 (2002-06-17 12:52) [6]
function MyRound(n: Real; z: Integer): Real;
var
Mult: Extended;
begin
Mult := IntPower(10,z);
result := Int((n+0.5/Mult)*Mult)/Mult;
end;
← →
Anatoly Podgoretsky (2002-06-17 12:56) [7]Tutov Roman (17.06.02 11:24)
Ну вопервых в этих случаях принято приводить код, а во второых и не должно получиться, число то с плавающей запятьй, имеетщее относительную точнось, ряд чисел представимы, а ряд нет, при том вторых большинство.
Например невозможно представить число 0.02 ни в одном из имеющих форматов, всегда будет 0.02 +- дельта
← →
Tutov Roman (2002-06-17 14:13) [8]2 AK-74
А что такое IntPover ?
← →
Lord Warlock (2002-06-17 14:26) [9]А можно так:
function MyRound(x: Real; n: Integer): Real;
begin
try
Result:=StrToFloat(format("%8.*f",[n,x]));
except
Result:=0;
end;
end
← →
Tutov Roman (2002-06-17 14:34) [10]Большое СПАСИБО !!!!
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.06.27;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.006 c