powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / искомые данные в dbgrideh без округления
17 сообщений из 17, страница 1 из 1
искомые данные в dbgrideh без округления
    #39724765
TsYekaterina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
доброе утро! dbgrideh из бд отображает данные типа double: 0,0035; 0,00125 и т.д. в гриде эти данные округляются, например, в бд 0,0035, в таблице 0,004. что необходимо, чтобы числа были "оригинальными", без округления?
...
Рейтинг: 0 / 0
искомые данные в dbgrideh без округления
    #39724768
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TsYekaterina,

ЕМНИП, у эхгрида должна быть опция что-то вроде Columns[?].DisplayFormat. Там и обозначаете, сколько знаков после запятой должно отображаться
...
Рейтинг: 0 / 0
искомые данные в dbgrideh без округления
    #39724771
TsYekaterina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Док,

я так сделала:
Код: sql
1.
MatForm.MatQuery.Fields[2] as TNumericField).DisplayFormat:='#0.0000000';

, но к округленному значению просто прибавляются нули.
...
Рейтинг: 0 / 0
искомые данные в dbgrideh без округления
    #39724780
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TsYekaterinaно к округленному значению просто прибавляются нули
тогда я бы по цепочке адресовал вопрос к датасету, затем к серверу...
...
Рейтинг: 0 / 0
искомые данные в dbgrideh без округления
    #39724785
Шавлюк Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TsYekaterinaДок,

я так сделала:
Код: sql
1.
MatForm.MatQuery.Fields[2] as TNumericField).DisplayFormat:='#0.0000000';


, но к округленному значению просто прибавляются нули.
Пиши формат "#0.#######“
...
Рейтинг: 0 / 0
искомые данные в dbgrideh без округления
    #39724786
goldmi45
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TsYekaterinaДок,

я так сделала:
Код: sql
1.
MatForm.MatQuery.Fields[2] as TNumericField).DisplayFormat:='#0.0000000';

, но к округленному значению просто прибавляются нули.
1) Значит, округление происходит не в гриде: вы установили формат у поля в наборе данных.
2) Округление данных происходит раньше
3) Сколько нулей после запятой вы указали, столько и должно прибавиться.
4) У некоторых компонентов для наборов данных есть единый формат для всех полей базовых типов. Может быть в этом дело, если данные с сервера уже не приходят в округлённом виде (округлить может процедура, которая их возвращает).
5) У набора данных не тот тип поля. К примеру, в базе тип поля double, а в наборе данных - real. Такое может быть, когда в sql приводят данные (cast()) с целью уменьшить количество знаков после запятой.
...
Рейтинг: 0 / 0
искомые данные в dbgrideh без округления
    #39724790
TsYekaterina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Шавлюк Евгений,

ничего не поменялось.
...
Рейтинг: 0 / 0
искомые данные в dbgrideh без округления
    #39724791
TsYekaterina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
goldmi45,

в базе тип numeric (foxpro).
...
Рейтинг: 0 / 0
искомые данные в dbgrideh без округления
    #39724792
TsYekaterina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
что тогда можно сделать? из-за этой проблемы я не могу удалить запись.
...
Рейтинг: 0 / 0
искомые данные в dbgrideh без округления
    #39724801
L_argo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TsYekaterinaчто тогда можно сделать? из-за этой проблемы я не могу удалить запись.Плохой стиль - делать флоат-поле важным для удаления записи, т.к. это "неточное" поле.
...
Рейтинг: 0 / 0
искомые данные в dbgrideh без округления
    #39724803
TsYekaterina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
L_argo,

даже если это не условие удаление, все равно это плохо, нужно чтобы было как в базе.
...
Рейтинг: 0 / 0
искомые данные в dbgrideh без округления
    #39724836
TsYekaterina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
если выводить это значение в edit, то результат не округляется, но отсекается часть числа, например, если в бд 0,0012, то в edit - 0,001.
пишу так, не помогает:
Код: sql
1.
RedactorMatForm.UdNormaEdit.Text:=FormatFloat('0.######', strtofloat(MatForm.ADOQuery1.FieldByName('unr1').AsString));
...
Рейтинг: 0 / 0
искомые данные в dbgrideh без округления
    #39724843
goldmi45
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TsYekaterinaесли выводить это значение в edit, то результат не округляется, но отсекается часть числа, например, если в бд 0,0012, то в edit - 0,001.

С чего вы решили, что 0,0012 не округляется? 0,001 вполне себе выглядит, как округлённое.
...
Рейтинг: 0 / 0
искомые данные в dbgrideh без округления
    #39724844
TsYekaterina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
goldmi45,

неудачный пример привела. число 0,0088 в бд, в edit - 0.008
...
Рейтинг: 0 / 0
искомые данные в dbgrideh без округления
    #39724924
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TsYekaterina,

это не округление уже, а обрезание... Надо смотреть эти поля в DataSet'е и как они там настроены (если добавлены в список полей) -- свойство Precision может быть меньше реального и обрезать лишнее.
...
Рейтинг: 0 / 0
искомые данные в dbgrideh без округления
    #39724938
TsYekaterina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
JaDi,

решила проблему так: в запросе добавила cast на это поле (cast(unr.unr1 as double))
...
Рейтинг: 0 / 0
искомые данные в dbgrideh без округления
    #39724940
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TsYekaterinaиз-за этой проблемы я не могу удалить запись.

Удаляйте её по целому первичному ключу.

TsYekaterinaнужно чтобы было как в базе.
Как уже сказали: пройдите по всей цепочке преобразований чтобы выяснить где именно что-то
идёт не так. Отладка же - рутинная работа программиста.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / искомые данные в dbgrideh без округления
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]