Форум: "Базы";
Текущий архив: 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