Главная страница
    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.009 c
4-62895
Cosmic
2002-12-02 22:12
2003.01.20
Диалог


1-62613
Каспер
2003-01-09 12:51
2003.01.20
Тип - Вариантная запись. Как сделать поле - дин массив?


3-62361
Che
2002-12-24 00:09
2003.01.20
Удаление


7-62869
Геннадий
2002-11-08 17:49
2003.01.20
Звуковая карта. Как записать входящий звук в файл?


1-62640
alxx
2003-01-09 16:10
2003.01.20
Глюк ComboBox и Windows 2000 Server





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