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

Округление   Найти похожие ветки 

← →
bablja ©   (2006-11-27 12:36) [0]

Уважаемые , подскажите как округлить число до нужного разряда?
заранее благодарю


← →
alex810 ©   (2006-11-27 12:37) [1]

Может это поможет
function RoundStr(Zn: Real; kol_zn: Integer): Real;
var
 snl, s, s0, s1, s2: string;
 n, n1: Real;
 nn, i: Integer;
begin
 s := FloatToStr(Zn);
 if (Pos(",", s) > 0) and (Zn > 0) and
 (Length(Copy(s, Pos(",", s) + 1, length(s))) > kol_zn) then
 begin
   s0 := Copy(s, 1, Pos(",", s) + kol_zn - 1);
   s1 := Copy(s, 1, Pos(",", s) + kol_zn + 2);
   s2 := Copy(s1, Pos(",", s1) + kol_zn, Length(s1));
   n := StrToInt(s2) / 100;
   nn := Round(n);
   if nn >= 10 then
   begin
     snl := "0,";
     for i := 1 to kol_zn - 1 do
       snl := snl + "0";
     snl := snl + "1";
     n1 := StrToFloat(Copy(s, 1, Pos(",", s) + kol_zn)) + StrToFloat(snl);
     s := FloatToStr(n1);
     if Pos(",", s) > 0 then
       s1 := Copy(s, 1, Pos(",", s) + kol_zn);
   end
   else
     s1 := s0 + IntToStr(nn);
   if s1[Length(s1)] = "," then
     s1 := s1 + "0";
   Result := StrToFloat(s1);
 end
 else
   Result := Zn;
end;



или

function RoundEx(X: Double; Precision: Integer ): Double;
{
Precision :
1 - до целых
10 - до десятых
100 - до сотых
...
}
var
 ScaledFractPart, Temp: Double;
begin
 ScaledFractPart := Frac(X) * Precision;
 Temp := Frac(ScaledFractPart);
 ScaledFractPart := Int(ScaledFractPart);
 if Temp >= 0.5 then
   ScaledFractPart := ScaledFractPart + 1;
 if Temp <= -0.5 then
   ScaledFractPart := ScaledFractPart - 1;
 RoundEx := Int(X) + ScaledFractPart / Precision;
end;


← →
Sam Stone ©   (2006-11-27 12:38) [2]

RoundTo(). Лежит, кажется, в Math.


← →
Krants   (2006-11-27 15:26) [3]

r:=1000; //разряд
...
round(a*r)/r


← →
DrPass ©   (2006-11-27 15:47) [4]


> alex810 ©   (27.11.06 12:37) [1]
> Может это поможет

Вряд ли...



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

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



Память: 0.46 MB
Время: 0.036 c
1-1162817427
Fedyun4ik
2006-11-06 15:50
2006.12.17
Как создать Плавующую Панель инструментов.


1-1162540775
wild_arg
2006-11-03 10:59
2006.12.17
Показ неактивного окна


2-1164253828
Andrey__
2006-11-23 06:50
2006.12.17
Помогите решить задачу плиз.


2-1164699502
Novik
2006-11-28 10:38
2006.12.17
TMemo в DLL


2-1164880618
ANB
2006-11-30 12:56
2006.12.17
Как из GUI приложения на делфи вернуть результат в ОС ?




   Наверх