Страница 1 из 3

Я возьму NUMERIC или DOUBLE PRECISION

Добавлено: 14 янв 2008, 12:04
студент-практикант
Какой из типов данных больше подходит для хранения финансовых (денежных) значений в 3-м диалекте?
1). DOUBLE PRECISION
2). NUMERIC
Товарищи говорят, что брать надо NUMERIC, а то в DOUBLE PRECISION при операциях глюки и бухгалтер в конце месяца удивиться, страшно... Неужели DOUBLE PRECISION такой плохой, я не хочу в это верить! Это ужасно! Может кто выскажет свои наблюдения...

Re: Я возьму NUMERIC или DOUBLE PRECISION

Добавлено: 14 янв 2008, 12:31
stix-s
студент-практикант писал(а):Какой из типов данных больше подходит для хранения финансовых (денежных) значений в 3-м диалекте?
1). DOUBLE PRECISION
2). NUMERIC
Товарищи говорят, что брать надо NUMERIC, а то в DOUBLE PRECISION при операциях глюки и бухгалтер в конце месяца удивиться, страшно... Неужели DOUBLE PRECISION такой плохой, я не хочу в это верить! Это ужасно! Может кто выскажет свои наблюдения...
какая патетика!
хранить в базе ИМХО следует в NUMERIC, но при расчетах без
плавающей точки не обойтись
главное не впадать в крайности :)
посмотри в поисковиках по ошибкам округления
например:
http://www.delphikingdom.com/asp/viewit ... alogid=374

Добавлено: 14 янв 2008, 14:37
студент-практикант
Что такое ИМХО? а то пытаюсь расшифровать, что-то все неприличное получается, мои мысли мои скакуны...

Добавлено: 14 янв 2008, 14:58
WildSery
In My Humble Opinion

Добавлено: 15 янв 2008, 15:21
студент-практикант
ссылка

http://www.ibase.ru/devinfo/migration.htm

в ней тема NUMERIC и DECIMAL
Для создания поля, хранящего большие целые числа, нужно пользоваться объявлением NUMERIC(15, 0) или NUMERIC(18, 0).

кроме всего прочего с числами, хранящимися как int64, есть некоторые проблемы при работе из Delphi/CBuider. Т.е. эти числа не совсем корректно обрабатываются на клиенте. Возможно, что существующие проблемы будут исправлены в новых версиях IBX.

Во как! А чего там за проблемы? кто-нибудь знает?

Добавлено: 15 янв 2008, 15:47
kdv
честно скажу, вопрос дурацкий. ибо migration.htm написан в 2000 году. А сейчас 2008-ой. И тогда имелось в виду Delphi 7. И тогда не было свежих версий IBX для D7.

Добавлено: 16 янв 2008, 10:45
студент-практикант
2000 год :shock: ничего себе! вот это да! да чего ж это такие статьи никто не удаляет, каждый может ошибиться, год старый! только вводят в заблуждение товарищей! :cry: меня например!
и кстати говоря про тупость вопроса, я не один такой товарищ, кот. использовал double precision и не первый год с Firebird-ом, просто другие люди подсказали, что numeric то по-лучше теперь будет, вот и спец (на форуме) мне тоже подсказывает, что numeric то получше будет
короче говоря использовать теперь буду всегда numeric, если лучше, надеюсь не разочаруюсь :?

Добавлено: 16 янв 2008, 11:03
kdv
а чего ж это такие статьи никто не удаляет
а зачем это я статью буду удалять? еще много народу сидит на IB 4 или 5, или на диалекте 1. А статья как раз и называется соответственно:
"Упрощенное руководство по переходу с диалекта 1 (IB 4.x и 5.x) на диалект 3 (IB 6.x/7.x, Firebird)"
и там дата написания стоит прямо под заголовком.
Другое дело, что мне ее корректировать влом...

Добавлено: 16 янв 2008, 13:23
Merlin
студент-практикант писал(а): короче говоря использовать теперь буду всегда numeric, если лучше, надеюсь не разочаруюсь :?
Гы-гы-гы. О сколько вам открытий чудных готовит... обучение на форуме вместо чтения доки. Нет, после наступания на очередные грабли добрые дяденьки может и объяснят причину появления бланша, но только после...

Добавлено: 16 янв 2008, 14:04
студент-практикант
не понятно, а что такое бланш? а тут только добрые дяденьки на сайте, а теток нет?
а kdv форум админ, ты сам статьи пишешь по Firebird? ничего себе!

Добавлено: 16 янв 2008, 15:15
kdv
а kdv форум админ, ты сам статьи пишешь по Firebird? ничего себе!
наоборот. я сделал ibase.ru, ООО "Айбэйз", forum.ibase.ru, и так далее.

бланш - это фингал, синяк, и т.п. от наступания на грабли, например.

Добавлено: 16 янв 2008, 16:30
студент-практикант
ну какой ты молодец! а сколько тебе лет или тут нельзя такие вопросы спрашивать? :?

Добавлено: 16 янв 2008, 17:25
Merlin
студент-практикант писал(а):ну какой ты молодец! а сколько тебе лет или тут нельзя такие вопросы спрашивать? :?
Главное - интим не предлагать.

Добавлено: 16 янв 2008, 22:04
kdv
а сколько тебе лет или тут нельзя такие вопросы спрашивать?
все на сайте. открываешь www.ibase.ru, там вверху в меню справа есть ссылка kdv.

Добавлено: 16 янв 2008, 22:27
студент-практикант
а на следующей конференции тоже будут подарки? это ты на конференции подарки ведь дарил и лицо такое доброе, сразу видно, что добряк! :wink:

Добавлено: 17 янв 2008, 07:12
stix-s
Может этот топ стоит в Пятницу перенести? :)

Добавлено: 17 янв 2008, 10:14
kdv
я вообще злой и жадный. но на следующей подарки будут, обязательно.

Добавлено: 17 янв 2008, 12:44
Attid
kdv писал(а):я вообще злой и жадный. но на следующей подарки будут, обязательно.
главное рандомайзер заранее пиши, а не за один день =)

Добавлено: 17 янв 2008, 14:43
kdv
рандомайзер кстати нормальный. А вот код, который проверяет повторную выдачу номеров - увы, некогда было вставлять.

Код: Выделить всё

  for i := 0 to k do
    begin
      for j := 0 to 5999999 do
        m:=Random(k)+30;
      Button1.Caption:=IntToStr(m);
      Application.ProcessMessages;
    end;

Добавлено: 17 янв 2008, 18:22
WildSery
kdv писал(а):А вот код, который проверяет повторную выдачу номеров - увы, некогда было вставлять.

Код: Выделить всё

var winners_list: TStringList;
...
repeat
  winner = func();
until winners_list.IndexOf(IntToStr(winner)) < 0;
winners_list.Add(IntToStr(winner))