![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Что за тип - Currency? [D7, Win95/98]
Gost © (2005-02-17 10:48:00)Что за тип дпных - Currency?
Jeer (2005-02-18 11:59:00) [1]VikUA (17.02.05 23:33) [11]
Небольшое добавление - вот как производится приведение форматов в Delphi
d:Float - > c:Currency
c := round(d*10000)/10000
Причем round - математическое округление !
Пример 1
d = 1.12345
c = round(11234.5) = 11235/10000 = 1.1235
(по правилам банковского округления здесь должно быть 1.1234 !!!)
Пример 2
d = 1.12355
c = round(11235.5) = 11236/10000 = 1.1236
Кроме того, не совсем верно утверждение - "(переводя их в целые числа)"
Currency размещаются в 64-битном типе, а логически, представляются форматом с фиксированной точкой (4 знака после запятой).
Поэтому, при преобразованиях Currency - > Float происходит преобразование к формату Float, деление на 10000, выполнение операций, а если результат опять размещается в Currency, то см.
Float - > Currency.
Anatoly Podgoretsky (2005-02-17 23:42:00) [2]Зраните деньги в мегабаксах и вам будет глубоко наплевать на Деньги (Currency)
VikUA (2005-02-17 23:33:00) [3]Конечно, все предыдущие посты блещут остроумием, но я отвечу по делу. Тип Currency используется для исключения ошибок округления. Переменные Currency должны иметь не более 4 знаков после запятой (Если вы работаете с таблицами, то тип NUMERIC или DECIMAL с точностью не более 4 знаков после запаятой). Дело в том, что Delphi операнды типа Currency сначала умножает на 10000 (переводя их в целые числа), выполняет операцию, а затем результат делит на 10000.
Palladin (2005-02-17 19:35:00) [4]
> Что за тип дпных - Currency?
Клвишу F1 на клавиатуре видел когда нибудь?
Ega23 (2005-02-17 14:05:00) [5]note2 пропустил. Хотя - редкость. Но бывает... :о)
clickmaker (2005-02-17 13:57:00) [6]
> Bucks - это множественное число
type
TBuck = (note1, note5, note10, ...);
TBucks = set of TBuck;
пачка баков, короче :)
Ega23 (2005-02-17 13:45:00) [7]2 clickmaker © (17.02.05 13:24) [5]
Ты не патриот... :о)
Ega23 (2005-02-17 13:45:00) [8]Кстати, тогда уж TBuck. Bucks - это множественное число.
clickmaker (2005-02-17 13:24:00) [9]есть еще производные типы
TBucks
TEuro
TTugrick
...
esu (2005-02-17 12:17:00) [10]
> Алхимик © (17.02.05 10:51) [2]
Анекдотец придумался :)
- Ты деньги где хранишь ?
- Ясень пень в currency!
msguns (2005-02-17 11:21:00) [11]Ах, деньги, деньги, деньги, рублики
Франки, фунты, стерлинги и тугрики..
(c)
Ega23 (2005-02-17 10:51:00) [12]Деньги
Алхимик (2005-02-17 10:51:00) [13]Для хранения бабла. Денег, тобишь.