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

Вниз

SUM в TQuery - точность суммирования   Найти похожие ветки 

 
Максим   (2002-12-19 11:24) [0]

Подскажите, а как побороть такую ситуацию:
SELECT O.DATAO, SUM(O.SUM_OPL) AS OPL, K.KODORG и т.д
Данные в поле Sum_opl не более 2 знаков после запятой, а сумма в запросе иногда выдает типа 293,09998 ?


 
ЮЮ   (2002-12-19 11:28) [1]

> Данные в поле Sum_opl не более 2 знаков после запятой
Это только так кажется.


 
Reindeer Moss Eater   (2002-12-19 11:29) [2]

Точность будет Double


 
Максим   (2002-12-20 09:29) [3]

то есть кажется?
Таблица исходник - база Foxpro2.6 где указано поле SUM_OPL типа NUMBER 8,2 - там физически неоткуда взяться больше 2 знаков!! И насколько я знаю математику :-)), то при сложении некак более 2 знаков после запятой не будет


 
Delirium^.Tremens   (2002-12-20 09:33) [4]

Есть ощущение, что все спрашивающие занимаются одной и той же задачей. И у них одновременно возникают одни и те же вопросы.


 
Максим   (2002-12-23 10:58) [5]

но при этом некто не может вразумительно ответить - вопрос то так и не решен


 
MsGuns   (2002-12-23 11:42) [6]

.. CAST(SUM(фа-фа-ля-ля) AS DECIMAL(12,2)) AS "SUMMA1"


 
Reindeer Moss Eater   (2002-12-23 11:53) [7]

но при этом некто не может вразумительно ответить - вопрос то так и не решен

Кусочек класса TField:
property AsFloat: Double;


 
Anatoly Podgoretsky   (2002-12-23 12:10) [8]

Максим © (20.12.02 09:29)
Ты забудь, что там в ФоксПро, а думай о Double и особенности представления чисел с плавающей запятой, а в ФоксПро они представлены в BCD


 
Максим   (2002-12-27 10:15) [9]

Справка из хелпа
Type Range Significant digits Size in bytes
Real48 2.9 x 10^–39 .. 1.7 x 10^38 11–12 6
Single 1.5 x 10^–45 .. 3.4 x 10^38 7–8 4
Double 5.0 x 10^–324 .. 1.7 x 10^308 15–16 8
и т.д.

И что из этого? если у меня число 123145,50 то оно будет представлено например 123145,49999999 - так что-ли, но ведь тогда вся арифметика полетит к черту. Значащих цифр то 15 допускается в этом типе. Главный вопрос в том, как умудряется число не более чем из 10 цифр, из них два после запятой перевести в число не равное ему. Спасибо MsGuns за подсказку, я про эту функцию забыл


 
Reindeer Moss Eater   (2002-12-27 10:21) [10]

Single,Double,Real48 - это плавающая точка.
Используя эти типы данных про понятие равно надо забыть.



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

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

Наверх





Память: 0.46 MB
Время: 0.011 c
1-62473
qwerty2
2003-01-09 12:20
2003.01.20
Немедленно завершить работу приложения


1-62566
Kaylie
2003-01-11 13:18
2003.01.20
Создание компонент


1-62628
jon1
2003-01-08 17:00
2003.01.20
Работа с компонентом DBGrid


3-62377
leonon
2002-12-24 16:03
2003.01.20
Работа с базой по сети


3-62445
TTCustomDelphiMaster
2002-12-26 14:08
2003.01.20
DBGrid.OnSelect





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский