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

Вниз

Обрезание знаков после запятой   Найти похожие ветки 

 
Fin ©   (2006-10-13 11:02) [0]

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


 
sniknik ©   (2006-10-13 11:09) [1]

> подскажите как вернуть все 10 знаков.
форматированием отображения.


 
Fin ©   (2006-10-13 11:28) [2]

В том то и дело что отображается 10 знаков после запятой но последние 6 знаков нули.


 
stone ©   (2006-10-13 11:32) [3]

DisplayFormat + F1


 
sniknik ©   (2006-10-13 11:52) [4]

> отображается 10 знаков после запятой но последние 6 знаков нули.
значит в суммировании (жутко суперсекретном кстати...) используются денежные типы, или чтото другое, но это чтото заставляет принять результат тот же денежный тип. а нужен double.


 
Fin ©   (2006-10-13 11:55) [5]

Спасибо конечно, может я не совсем корректно сформулировал вопрос, но "DisplayFormat", это когда просто показать то что скрыто визуально, у меня же проблема в том что после выполнения запроса агрегатная функция SUM округляет значение до 4 знаков, и это видно из того, что результат я и так форматирую и показываю 10 знаков после запятой и последние 6 знаков забиты нулями. нет ли какого нибудь параметра у функции SUM ?


 
Johnmen ©   (2006-10-13 11:59) [6]

Тип поля набора данных определён неверно....


 
Fin ©   (2006-10-13 12:04) [7]

<Johnmen ©   (13.10.06 11:59) [6] >

<Тип поля набора данных определён неверно....>

Как заставить определить верно?


 
sniknik ©   (2006-10-13 12:12) [8]

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


 
Fin ©   (2006-10-13 12:16) [9]

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


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

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


 
Fin ©   (2006-10-13 12:27) [11]

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


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

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


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

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

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


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

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


 
sniknik ©   (2006-10-13 13:52) [15]

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


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

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


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

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

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


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

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


 
sniknik ©   (2006-10-13 17:23) [19]

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

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


 
Fin ©   (2006-10-13 17:26) [20]

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


 
Desdechado ©   (2006-10-13 17:57) [21]

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


 
Anatoly Podgoretsky ©   (2006-10-13 18:50) [22]

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


 
Fin ©   (2006-10-13 21:18) [23]

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


 
Mike Kouzmine ©   (2006-10-14 11:28) [24]

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


 
sniknik ©   (2006-10-14 11:53) [25]

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


 
Anatoly Podgoretsky ©   (2006-10-14 14:10) [26]

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


 
Mike Kouzmine ©   (2006-10-14 23:25) [27]

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



Страницы: 1 вся ветка

Текущий архив: 2006.12.24;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.074 c
2-1165488411
sdram
2006-12-07 13:46
2006.12.24
Так работает а так нет в чем собака зарылась?


4-1155901190
Прогер
2006-08-18 15:39
2006.12.24
Как грамотно остановить сервис? Service WinNT


1-1163068605
Kirillrepin
2006-11-09 13:36
2006.12.24
ComboBox


8-1146909631
QuickFinder
2006-05-06 14:00
2006.12.24
Собрать в один GIF


2-1165410960
Rtr
2006-12-06 16:16
2006.12.24
вопрос по Word