![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Обрезание знаков после запятой [D6, dBase, FoxPro]
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]> Как заставить определить верно?
утюг, паяльник уже применяли? ... ну тогда программиста на цепь, и не кормить пока не определит верно...