Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Округление с определенным количеством знаков [D7, dBase, FoxPro]


John ©   (2004-02-04 18:02:00) 

Добрый день.
Подскажите, пожалуйста, решение следущей проблемы.
Есть DBF таблица с полями, например, S, S1, S2, S3
тип полей Number, размер 10,2. Делаю из этой таблицы следующий селект
Select * from mytable where s<>(s1+s2+s3)
И вот в эту выборку попадают записи, которые по идее не должны туда попадать. Т.е., смотрю в базе значения полей, складываю их сумму, они равны, а в выборку почему-то попадают.
Я так понимаю, что во время расчета получается разница в каком-то знаке после запятой? Правильно?
Так а как тогда избавиться от этой погрешности?

Подскажите пожалуйста.


Johnmen   (2004-02-04 18:05:00) [1]

М.б. так
Select * from mytable
where CAST(s*100 AS int)<>CAST((s1+s2+s3)*100 AS int)


Наверх

Титульная страница Поиск, карта сайта Написать письмо