Я возьму NUMERIC или DOUBLE PRECISION
-
- Сообщения: 60
- Зарегистрирован: 14 дек 2007, 10:56
Я возьму NUMERIC или DOUBLE PRECISION
Какой из типов данных больше подходит для хранения финансовых (денежных) значений в 3-м диалекте?
1). DOUBLE PRECISION
2). NUMERIC
Товарищи говорят, что брать надо NUMERIC, а то в DOUBLE PRECISION при операциях глюки и бухгалтер в конце месяца удивиться, страшно... Неужели DOUBLE PRECISION такой плохой, я не хочу в это верить! Это ужасно! Может кто выскажет свои наблюдения...
1). DOUBLE PRECISION
2). NUMERIC
Товарищи говорят, что брать надо NUMERIC, а то в DOUBLE PRECISION при операциях глюки и бухгалтер в конце месяца удивиться, страшно... Неужели DOUBLE PRECISION такой плохой, я не хочу в это верить! Это ужасно! Может кто выскажет свои наблюдения...
Re: Я возьму NUMERIC или DOUBLE PRECISION
какая патетика!студент-практикант писал(а):Какой из типов данных больше подходит для хранения финансовых (денежных) значений в 3-м диалекте?
1). DOUBLE PRECISION
2). NUMERIC
Товарищи говорят, что брать надо NUMERIC, а то в DOUBLE PRECISION при операциях глюки и бухгалтер в конце месяца удивиться, страшно... Неужели DOUBLE PRECISION такой плохой, я не хочу в это верить! Это ужасно! Может кто выскажет свои наблюдения...
хранить в базе ИМХО следует в NUMERIC, но при расчетах без
плавающей точки не обойтись
главное не впадать в крайности

посмотри в поисковиках по ошибкам округления
например:
http://www.delphikingdom.com/asp/viewit ... alogid=374
-
- Сообщения: 60
- Зарегистрирован: 14 дек 2007, 10:56
-
- Сообщения: 60
- Зарегистрирован: 14 дек 2007, 10:56
ссылка
http://www.ibase.ru/devinfo/migration.htm
в ней тема NUMERIC и DECIMAL
Для создания поля, хранящего большие целые числа, нужно пользоваться объявлением NUMERIC(15, 0) или NUMERIC(18, 0).
кроме всего прочего с числами, хранящимися как int64, есть некоторые проблемы при работе из Delphi/CBuider. Т.е. эти числа не совсем корректно обрабатываются на клиенте. Возможно, что существующие проблемы будут исправлены в новых версиях IBX.
Во как! А чего там за проблемы? кто-нибудь знает?
http://www.ibase.ru/devinfo/migration.htm
в ней тема NUMERIC и DECIMAL
Для создания поля, хранящего большие целые числа, нужно пользоваться объявлением NUMERIC(15, 0) или NUMERIC(18, 0).
кроме всего прочего с числами, хранящимися как int64, есть некоторые проблемы при работе из Delphi/CBuider. Т.е. эти числа не совсем корректно обрабатываются на клиенте. Возможно, что существующие проблемы будут исправлены в новых версиях IBX.
Во как! А чего там за проблемы? кто-нибудь знает?
-
- Сообщения: 60
- Зарегистрирован: 14 дек 2007, 10:56
2000 год
ничего себе! вот это да! да чего ж это такие статьи никто не удаляет, каждый может ошибиться, год старый! только вводят в заблуждение товарищей!
меня например!
и кстати говоря про тупость вопроса, я не один такой товарищ, кот. использовал double precision и не первый год с Firebird-ом, просто другие люди подсказали, что numeric то по-лучше теперь будет, вот и спец (на форуме) мне тоже подсказывает, что numeric то получше будет
короче говоря использовать теперь буду всегда numeric, если лучше, надеюсь не разочаруюсь


и кстати говоря про тупость вопроса, я не один такой товарищ, кот. использовал double precision и не первый год с Firebird-ом, просто другие люди подсказали, что numeric то по-лучше теперь будет, вот и спец (на форуме) мне тоже подсказывает, что numeric то получше будет
короче говоря использовать теперь буду всегда numeric, если лучше, надеюсь не разочаруюсь

а зачем это я статью буду удалять? еще много народу сидит на IB 4 или 5, или на диалекте 1. А статья как раз и называется соответственно:а чего ж это такие статьи никто не удаляет
"Упрощенное руководство по переходу с диалекта 1 (IB 4.x и 5.x) на диалект 3 (IB 6.x/7.x, Firebird)"
и там дата написания стоит прямо под заголовком.
Другое дело, что мне ее корректировать влом...
Гы-гы-гы. О сколько вам открытий чудных готовит... обучение на форуме вместо чтения доки. Нет, после наступания на очередные грабли добрые дяденьки может и объяснят причину появления бланша, но только после...студент-практикант писал(а): короче говоря использовать теперь буду всегда numeric, если лучше, надеюсь не разочаруюсь
-
- Сообщения: 60
- Зарегистрирован: 14 дек 2007, 10:56
-
- Сообщения: 60
- Зарегистрирован: 14 дек 2007, 10:56
все на сайте. открываешь www.ibase.ru, там вверху в меню справа есть ссылка kdv.а сколько тебе лет или тут нельзя такие вопросы спрашивать?
-
- Сообщения: 60
- Зарегистрирован: 14 дек 2007, 10:56
рандомайзер кстати нормальный. А вот код, который проверяет повторную выдачу номеров - увы, некогда было вставлять.
Код: Выделить всё
for i := 0 to k do
begin
for j := 0 to 5999999 do
m:=Random(k)+30;
Button1.Caption:=IntToStr(m);
Application.ProcessMessages;
end;
kdv писал(а):А вот код, который проверяет повторную выдачу номеров - увы, некогда было вставлять.
Код: Выделить всё
var winners_list: TStringList;
...
repeat
winner = func();
until winners_list.IndexOf(IntToStr(winner)) < 0;
winners_list.Add(IntToStr(winner))