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

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

Обрезание знаков после запятой [D6, dBase, FoxPro]


Страницы:   1 2

Fin ©   (2006-10-13 11:02:00) 

Позор мне, но вот столкнулся, в запросе суммирую числа у которых количество знаков после запятой доходит до 10, но результат обрезается до 4 знаков, подскажите как вернуть все 10 знаков.
Заранее спасибо.


Mike Kouzmine   (2006-10-14 23:25:00) [1]

sniknik ©   (14.10.06 11:53) [25]
Anatoly Podgoretsky ©   (14.10.06 14:10) [26]
Понял.


Anatoly Podgoretsky   (2006-10-14 14:10:00) [2]

Mike Kouzmine ©   (14.10.06 11:28) [24]
Парадокс сплошной обман, хороший продукт Парадоксом не назовут.
Там BCD эмулируется масками отображения, а BCD по сути Money


sniknik   (2006-10-14 11:53:00) [3]

Mike Kouzmine ©   (14.10.06 11:28) [24]
флаг то есть, но тип ВСД не поддержан в полной мере, и передача значения идет через currency (/money) денежный тип в общем, а у него только 4 возможных знака после запятой... (у "истинного" ВСД переменное(заданное) количество, до максимума толи 100 толи 99 знаков, не помню)


Mike Kouzmine   (2006-10-14 11:28:00) [4]

Anatoly Podgoretsky ©   (13.10.06 18:50) [22] Точно не помню, но, кажется там есть Разрешить ВСД - правда-ложь


Fin   (2006-10-13 21:18:00) [5]

Скорее всего весь день боролся с "ветрянной мельницей", так как пришол домой и на домашней машине проверил , не кокого округления и обрезания не происходит. Плохо что не взял с собоq конфиг настроек bde с работы, но на память все настрйки проверил и отличий не обнаружил, теперь только в понедельник проверю - возму config из дома. Или ищу не там?


Anatoly Podgoretsky   (2006-10-13 18:50:00) [6]

Парадокс не поддерживает BCD, нельзя же называть BCD, у которого только и только 4 знака после запятой, все остальное Float


Desdechado   (2006-10-13 17:57:00) [7]

можно попробовать
SELECT CAST( Sum( n ) AS NUMERIC(16,10) ) FROM tabl


Fin   (2006-10-13 17:26:00) [8]

>есть. и я (и не только) ее знаю.
Скажите пожалуйста эту функцию.
Спасибо.


sniknik   (2006-10-13 17:23:00) [9]

> вот только самой функции сдаётся нема
есть. и я (и не только) ее знаю.
но
> моожет кто уже сталкивался и нашол решение.
не сталкивался, поэтому не подхожу под условия для ответа...

и никто тут никого не обижает, когда было на что отвечать, я отвечал, и даже пример дал... было бы на тот момент известно подо что нужно, дал бы конкретно под него. а так... проехали.


Fin   (2006-10-13 17:14:00) [10]

sniknik вы с самого начала пытаетесь меня пристыдить, не хотите не надо не помогайте, я с утра над этим ломаюсь, "весь" хелп перевернул, в инете всё излазил при этом как раз про bde встречал только посты о невозможности так поступить. и что вы там разжевали то что проблема в bde и что функция там другая, спасибо конечно, вот только самой функции сдаётся нема или не могу найти, посему и спрашиваю моожет кто уже сталкивался и нашол решение.
Вот же блин не хотел оффтоп разводить, ну что "слабых всегда обижают".
И всё же, пересетупим через гордость, если кому не трудно - вопросик в силе.


sniknik   (2006-10-13 17:01:00) [11]

уважаемый, да тебе все разжевали, и разве что в рот не положили... неужели заглянуть в хелп, узнать как преобразования типов в BDE делается, для себя же, и ломает?...

p.s. какой ленивый и наглый народ пошол...


Fin   (2006-10-13 16:55:00) [12]

Уважаемые, не ужели ни кто не сталкивался с подобным в BDE? Всё ни как не могу решить вопрос. Буду признателен за помощь!


sniknik   (2006-10-13 13:52:00) [13]

> через Database Desktop тот же результат, только 4 знака
ну значит тип устанавлиевается всетаки в запросе при сумировании, смотри как делается приведение типа в BDE, принцип он один, только функция отличается от [10].


Fin   (2006-10-13 13:42:00) [14]

результат получаю в дбгрид из компонента  query на вкладке BDE.
Пробовал запрос через Database Desktop тот же результат, только 4 знака. Но вот из акцесса результат получается нужный.
Вот засада!!!


sniknik   (2006-10-13 12:54:00) [15]

и кстати неправильный тип может быть не только в таблице/запросе но и в программе определен(результируюший TField)... тогда еше нехватает того как ты получаеш результат, в чем, как оно определено.

попробуй например свой запрос без изменений но не в своей програме, а SQL Explorer-е например...


sniknik   (2006-10-13 12:34:00) [16]

что используется. ну, уже очевидно что BDE.


Fin   (2006-10-13 12:27:00) [17]

не поддерживается, а какой информации не хватает?


sniknik   (2006-10-13 12:19:00) [18]

попробуй
select sum(CDbl(sup)) from table.dbf
сработает или нет будет зависеть от неприведенных сдесь данных.


Fin   (2006-10-13 12:16:00) [19]

Опять я наверное не корректно спросил, можно ли заставить определить тип суммируемого  поля прямо в запросе. Так как в dbf файле всё предельно просто тип numeric 16,10 и запрос предельно прост
select sum(sup)
from table.dbf


sniknik   (2006-10-13 12:12:00) [20]

> Как заставить определить верно?
утюг, паяльник уже применяли? ... ну тогда программиста на цепь, и не кормить пока не определит верно...


Страницы:   1 2

Наверх

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