Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

округление ? [D6, 2000]


Officeman ©   (2006-02-07 12:43:00) 

var   u1rate:real;

Labe1.caption:=floattostr(u1rate-0.1);

Надо  округлить до десятичных.  смешно сказать, забыл я =)) и
в help-е немогу найти.   помню что надо писать типа  :4:1 это в паскале так было. ))) ЛЮДИ ПАМАГИТЕ !!! я меня склероз............. =(


Zeqfreed   (2006-02-07 20:57:00) [1]


> А почему не

Потому что это менее читабельно и, скорее всего, более продолжительно по времени выполнения.


Asail   (2006-02-07 20:52:00) [2]

А почему не RoundTo(u1rate-0.1,-1) т.е.
Labe1.caption:=floattostr(RoundTo(u1rate-0.1,-1));


Officeman   (2006-02-07 17:21:00) [3]

u1.Caption:=Format('%8.2f', [(u1rate-0.1)]);

так убедительно. =) спасибо всем.


evvcom   (2006-02-07 15:21:00) [4]


> он хороший - но почемуто хромает )).
>
> Okey. You write:

:)


Officeman   (2006-02-07 13:23:00) [5]

вот зараза. а я наобот пишу.    Str(S,I:4:2);
тороплюсь. =((


Ega23   (2006-02-07 13:21:00) [6]


Str example

function MakeItAString(I: Longint): string;

{ Convert any integer type to a string }
var
S: string[11];
begin
Str(I :4:2, S);
Result:= S;
end;

begin

Canvas.TextOut(10, 10, MakeItAString( 90.8));


сделай так и увидишь эффект. Хотя можно и через Format

P.S.

>
> Okey. You write:


OK. You wrote:


Officeman   (2006-02-07 13:16:00) [7]

Правильнее будет сказать. английский у меня хромает. он хороший - но почемуто хромает )).

Okey. You write:


Str example

function MakeItAString(I: Longint): string;

{ Convert any integer type to a string }
var
S: string[11];
begin
Str(I, S);
Result:= S;
end;

begin

Canvas.TextOut(10, 10, MakeItAString(-5322));


end;

Мене надо.  получить типа    90,8

Буду использовать  Format


Zeqfreed   (2006-02-07 13:10:00) [8]

Format('%8.3f', [FloatingPointVariable]);
+ раздел справки Format strings


Гошик Кувшинов   (2006-02-07 13:07:00) [9]

real=double с какой-то там старой версии дельфей. и floattostrf работает хоть с real, хоть с чем, там при вызове фактический параметр преобразуется к типу формального т.к. типы совместимые


Officeman   (2006-02-07 13:06:00) [10]

да да!!! это то что надо!
Format(...)


Ega23   (2006-02-07 13:06:00) [11]



Str procedure

Formats a string and returns it to a variable.

Unit

System

Category

string handling routines

procedure Str(X [: Width [: Decimals ]]; var S);

Description

Str procedure X to a string representation according to the Width and Decimals formatting parameters. The effect is like a call to Write except the resulting string is stored in S instead of being written to a text file.

X is an integer-type or real-type expression. Width and Decimals are integer-type expressions. S is a string-type variable or a zero-based character array variable if extended syntax is enabled.

Str example

function MakeItAString(I: Longint): string;

{ Convert any integer type to a string }
var
 S: string[11];
begin
 Str(I, S);
 Result:= S;
end;

begin

 Canvas.TextOut(10, 10, MakeItAString(-5322));
end;


Officeman   (2006-02-07 13:04:00) [12]

ЛЮДИ !!! не катит =)  у меня же VAR REAL
Пожалуйста приведите пример. Я немогу вспомнить синтаксис записи.


Desdechado   (2006-02-07 13:01:00) [13]

Format(...)


Ega23   (2006-02-07 12:46:00) [14]

Str + F1


ZeroDivide   (2006-02-07 12:46:00) [15]

FloatToStrF


Наверх

Титульная страница Поиск, карта сайта Написать письмо