Форум: "Основная";
Текущий архив: 2005.03.06;
Скачать: [xml.tar.bz2];
ВнизЧто за тип - Currency? Найти похожие ветки
← →
Gost (2005-02-17 10:48) [0]Что за тип дпных - Currency?
← →
Ega23 © (2005-02-17 10:51) [1]Деньги
← →
Алхимик © (2005-02-17 10:51) [2]Для хранения бабла. Денег, тобишь.
← →
msguns © (2005-02-17 11:21) [3]Ах, деньги, деньги, деньги, рублики
Франки, фунты, стерлинги и тугрики..
(c)
← →
esu © (2005-02-17 12:17) [4]
> Алхимик © (17.02.05 10:51) [2]
Анекдотец придумался :)
- Ты деньги где хранишь ?
- Ясень пень в currency!
← →
clickmaker © (2005-02-17 13:24) [5]есть еще производные типы
TBucks
TEuro
TTugrick
...
← →
Ega23 © (2005-02-17 13:45) [6]2 clickmaker © (17.02.05 13:24) [5]
Ты не патриот... :о)
← →
Ega23 © (2005-02-17 13:45) [7]Кстати, тогда уж TBuck. Bucks - это множественное число.
← →
clickmaker © (2005-02-17 13:57) [8]
> Bucks - это множественное число
type
TBuck = (note1, note5, note10, ...);
TBucks = set of TBuck;
пачка баков, короче :)
← →
Ega23 © (2005-02-17 14:05) [9]note2 пропустил. Хотя - редкость. Но бывает... :о)
← →
Palladin © (2005-02-17 19:35) [10]
> Что за тип дпных - Currency?
Клвишу F1 на клавиатуре видел когда нибудь?
← →
VikUA (2005-02-17 23:33) [11]Конечно, все предыдущие посты блещут остроумием, но я отвечу по делу. Тип Currency используется для исключения ошибок округления. Переменные Currency должны иметь не более 4 знаков после запятой (Если вы работаете с таблицами, то тип NUMERIC или DECIMAL с точностью не более 4 знаков после запаятой). Дело в том, что Delphi операнды типа Currency сначала умножает на 10000 (переводя их в целые числа), выполняет операцию, а затем результат делит на 10000.
← →
Anatoly Podgoretsky © (2005-02-17 23:42) [12]Зраните деньги в мегабаксах и вам будет глубоко наплевать на Деньги (Currency)
← →
Jeer © (2005-02-18 11:59) [13]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.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.03.06;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.04 c