![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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.