Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.04.08;
Скачать: [xml.tar.bz2];

Вниз

Перенос данных из таблицы Dbase   Найти похожие ветки 

 
Dmitiy   (2002-03-13 13:28) [0]

Подскажите пожалуйста! Уже 3 дня бьюсь впустую! Вообщем ситуация такая:
переношу выборочно записи и поля из базы DBase /FoxPro// в DBase for Win путём перебора всех записей.
Потом пробегаю полученную таблицу от начала до конца и произвожу вычисления.
Когда сумма получается больше или меньше 0 всё нормально, но когда эта сумма равняется 0, получаю
примерно такой результат - 1,818988988Е-12. Причем если просмотреть эту таблицу в Database Desktop этот результат
будет равен 0,00. Помогите!


 
gek   (2002-03-13 13:50) [1]

Database Desktop показывает правильно.
Видимо ошибка в другом


 
sniknik   (2002-03-13 15:19) [2]

Не всегда если он округляет до 2 знаков а значение = 0,000000005 то в итоге значения разойдутся. У меня было похожая ситуация только я значения не переносил а вычислял и в некоторых полях получалась ахинея, утрировано у меня 1/1-1 в одном случае было 0 в другом чтото вроде твоего экспоненциального значения - 1,818988988Е-12 (это в принципе не ноль но очень близкое к нулю значение). Вышел из положения тем что после расчета конвертировал число в строку и обратно с отрезанием лишних цифр. (использовать round или truncate не мог т.к. все делалось в local SQL запросе) толко как конкретно уже не помню но надеюсь хоть направление подсказал.


 
Dmitiy   (2002-03-14 03:53) [3]

Спасибо. Похоже больше наверное ничего и не придумаешь.


 
Johnmen   (2002-03-14 09:40) [4]

Это есть погрешность твоих вычислений !


 
sniknik   (2002-03-14 12:13) [5]

Кто ж спорит то естественно погрешность только не вычислений а исходных данных. Если выражение с одними и теми же даннными в 1000 случаях дает верный результат то оно верное. а 1001 (неправильный будет исключением). Я тогда замучился тогда исходные таблици просматривать (в Database Desktop) ну все одинаковое а результат разный. И только после того как подцепил их в Delphi увидел то что в Database Desktop видится как (например)
20.00
20.00
20.00
на самом деле может быть так
20.00
20.000001
20.00
понятно где будет экспонента? (с тех пор Database Desktop один из моих самых нелюбимых инструментов :)


 
Johnmen   (2002-03-14 12:21) [6]

>sniknik © : просто Database Desktop показывает значения, приводя их к формату, соответствующему типу...


 
sniknik   (2002-03-14 12:28) [7]

А я в первый раз не то же самое говорил? "Не всегда если он округляет до 2 знаков"


 
sniknik   (2002-03-14 12:33) [8]

P.S. специально посмотрел NUMERIC (16,6) все одно два знака кажет.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2002.04.08;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.005 c
1-22658
LiNkS
2002-03-27 11:35
2002.04.08
RxRichEdit


7-22857
netter
2001-12-30 10:38
2002.04.08
Удаление exe в Windows 2000


1-22640
asat
2002-03-27 20:57
2002.04.08
Как прервать цикл?


14-22826
-=CrazyFish=-
2002-02-28 15:48
2002.04.08
Linux


1-22609
Well
2002-03-25 09:52
2002.04.08
Работа с TImage





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский