Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.01.20;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.021 c
6-62680
NickolayLI
2002-11-13 14:59
2003.01.20
Broadcast


6-62681
Ocean
2002-11-20 14:49
2003.01.20
Русский текст из html-формы


14-62846
Dmitriy_R
2002-12-24 07:34
2003.01.20
Сервис Win 2000 (NT)


1-62620
werr
2003-01-09 10:34
2003.01.20
Форму программы на передний план


3-62429
Херург
2002-12-26 20:51
2003.01.20
DBGrid: Title как Button