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

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

Currency [D7, WinXP]


oleguslu ©   (2007-07-07 13:13:00) 

Здраствуйте. Скажите пожалуйста как можно указать компилятору параметры округления типа currency. То есть округлять третью цифру после запятой или не брать её в расчёт.


Юрий Зотов   (2007-07-08 07:49:00) [1]

> Asail   (08.07.07 00:14) [10]

Ай, маладца!
:о)


MsGuns   (2007-07-08 01:46:00) [2]

Чем толще дуб, тем больше лесорубов ;)


Vlad Oshin   (2007-07-08 01:32:00) [3]


>
> > Не брать в расчёт 3-ю цифру означает "округлять до 2-х
> цифр".
>
> Не правда!


> Например, 1.236 можно "округлить" до 1.24, а можно "не брать
> 3-ю цифру в расчет" и получить 1.23.

а это не значит округлять до втооого знака?
при разных системах/способах округления?

блин, забибикали бухи, если честно


Asail   (2007-07-08 00:14:00) [4]


> Не брать в расчёт 3-ю цифру означает "округлять до 2-х цифр".

Не правда!
Например, 1.236 можно "округлить" до 1.24, а можно "не брать 3-ю цифру в расчет" и получить 1.23.
В первом случае RoundTo, а во втором можно так:
X := Int(X * 100) / 100


Anatoly Podgoretsky   (2007-07-07 14:46:00) [5]

Как тебя понимать, но Currency всегда четыре цифры после запятой, может ты хочешь четвертую превратить в ноль, ну тогда элементарнейшая математика начальной школы.


Юрий Зотов   (2007-07-07 14:40:00) [6]

> oleguslu   (07.07.07 14:26) [7]

Не брать в расчёт3-ю цифру означает " округлятьдо 2-х цифр".


oleguslu   (2007-07-07 14:26:00) [7]


> Юрий Зотов ©


> engine ©

То есть округлять третью цифру после запятой или не брать её в расчёт
в за висимости от чего-то


Юрий Зотов   (2007-07-07 14:13:00) [8]

> oleguslu

> ...как можно указать компилятору параметры округления ...
> ...То есть округлять третью цифру...

> мне не нужно округление

Как понять тебя, Саид?
(с) Абдулла.


engine   (2007-07-07 14:09:00) [9]

> [4] oleguslu   (07.07.07 13:58)


> мне не нужно округление


> [0] oleguslu   (07.07.07 13:13)


> Скажите пожалуйста как можно указать компилятору параметры
> округления


oleguslu   (2007-07-07 13:58:00) [10]


> engine ©

мне не нужно округление, как раз наоборот


engine   (2007-07-07 13:53:00) [11]

RoundTo


oleguslu   (2007-07-07 13:48:00) [12]

мне нужно не для преобразования в строку а для расчётов


Юрий Зотов   (2007-07-07 13:45:00) [13]

Компилятору ????

Никак, конечно. Но есть переменная CurrencyDecimals и функции для преобразования Currency в строку нужного формата. Например:

procedure TForm1.FormCreate(Sender: TObject);
var
 C: Currency;
begin
 C := 1234.5678;
 CurrencyDecimals := 2;
 Caption := Format('%m', [C])
end;

Подробности см. в справке (разделы "Currency and date/time formatting variables", "String formatting routines" и "Format strings"), а еще в комментариях в модуле SysUtils.


Наверх

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