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

Вниз

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

 
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 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.12.17;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.044 c
8-1146316696
keni
2006-04-29 17:18
2006.12.17
Файл в список воспроизведения


15-1163250575
poganka
2006-11-11 16:09
2006.12.17
ISAPI в Delphi


15-1164699235
Gero
2006-11-28 10:33
2006.12.17
Не стоит забывать про другие поисковые системы


2-1164540826
doncova1
2006-11-26 14:33
2006.12.17
ShellExecute


15-1164366912
dreamse
2006-11-24 14:15
2006.12.17
Подскажите компонент





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский