Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
19.11.2003, 16:37
|
|||
|---|---|---|---|
Как бороться с currency ? |
|||
|
#18+
Код: plaintext 1. 2. 3. т.е. ошибка при вычислении уже превышает все допустимые пределы! Я борюсь с этим так ?Val(str(m.Var1,15,4))/m.Var2*m.Var2 Может кто-то знает более красивый способ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.11.2003, 17:00
|
|||
|---|---|---|---|
Как бороться с currency ? |
|||
|
#18+
Используй функции конвертации MTON() и NTOM() ====================================== При работе с данными типа Currency есть следующие отличия от типа Numeric: 1. Округления в процессе вычислений: Currency - округляется каждая операция до 4 цифр после запятой Numeric - каждая операция округляется с точностью до 16 значащих цифр. Результат расчета округляется до расчетного количества цифр после запятой. Расчетное количество цифр после запятой зависит от количества цифр после запятой у исходных чисел, выполняемых операций и настройки SET DECIMALS Например, сравни: ?4/3*3 ?NTOM(4)/3*3 2. Способ хранения Currency - хранится в специальном формате и занимает всегда 8 байт Numeric - хранится как символьная строка: одна цифра - один символ Как следствие прямое сравнение данных типа Currency и Numeric может дать .F. несмотря на то, что казалось бы они равны, например: ?NTOM(268435456.4)=268435456.4 ======================================= Если задача предполагает большое количество расчетов с денежными данными, то лучше отказаться от хранения денег в формате Currency и хранить все в формате N(20,4). Это занимает больше места (20 байт вместо 8), но позволяет сущетсвенно упростить все вычисления. Если это невозможно, то необходимо всегда перед выполнением расчетов конвертировать Currency в Numeric, используя функцию MTON(), поскольку все переменные памяти числового типа по умолчанию имеют тип Numeric (или Integer) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.11.2003, 17:58
|
|||
|---|---|---|---|
Как бороться с currency ? |
|||
|
#18+
Currency еще плох тем невозможностью , в случае необходимости , увеличения числа хранимых знаков после запятой...А такие случаи не редки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=41&mobile=1&tid=1597541]: |
0ms |
get settings: |
6ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
134ms |
get topic data: |
7ms |
get forum data: |
1ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 227ms |
| total: | 433ms |

| 0 / 0 |
