![]() |
|
Модераторы: Akella |
![]()
|
|
| shutffl |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 171 Регистрация: 18.8.2008 Репутация: нет Всего: 3 |
Доброго времени суток!!
Помогаю другу с программкой.. У него возникла проблема с тем, что ему необходимо производить расчеты с большим количеством чисел.. Например, пять миллионов.. Изначально код на C++ (консольное приложение).. Динамических массивов ему уже мало.. Потоки он не знает и переписывать прогу под них не хочет (да и времени уже не так много).. Собственно всплыло пока что два варианта: 1 - использовать файлы; 2 - использовать БД.. Я за БД, он за файлы.. Но не суть.. Сел я писать тестовое приложение для записи чисел с индексами (а-ля массив: id, number).. Для простоты переноса кода и установки доп ПО выбор пал на SQLite3.. Работаем под Linux/Win32.. Linux - основа.. Собвственно создал я файлик с БД, табличку в нем с полями id integer и number float.. Попробовал.. Выяснилось, что SQLite3 записывает только один знак после запятой.. Стал копать в сторону увеличения количества этих знаков.. Выяснилось, что SQLite3 поддерживает NUMERIC(a, b).. Но оказалось, что все равно запись в БД неверна.. А записывать надо 13-23 знака после запятой.. Там "точные" расчеты и числа вида a.____e+18 не совсем подходят, так как часто разница именно в последних цифрах (на 14+ знаках).. Возможно ли каким-либо образом хранить в таблице SQLite3 данные подобного типа?? Google как-то невнятен по этому поводу.. Или стоить забить на SQLite3 и тупо все сделать на PostgreSQL?? Там все нормально пишется (по крайней мере устраивает запись "%.21f" из кода в БД).. Правда считывать из PostgreSQL обратно не пытался.. Заранее спасибо!! --------------------
shadowmoon |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Другие СУБД | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |