powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Округление.... о_О (PosgtreSQL + BigDecimal)
8 сообщений из 8, страница 1 из 1
Округление.... о_О (PosgtreSQL + BigDecimal)
    #38083163
Nixic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обнаружил, странное и необъяснимое для себя явление:

В постгресе хранится число в поле типа numeric(19,3), со значением 369.755. (Смотрю через pgAdmin)

Когда в коде беру это число у объекта, то его значение становится 369.7548.
В приложении картинка из дебага.

Есть ли у кого объяснение такого поведения при вытаскивании объектов из БД? Использую Hibernate, может с ним что-то не так?
...
Рейтинг: 0 / 0
Округление.... о_О (PosgtreSQL + BigDecimal)
    #38083170
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надо подебажить хибернейт. Возможно он на уровне JDBC значение как-то иначе считал.
...
Рейтинг: 0 / 0
Округление.... о_О (PosgtreSQL + BigDecimal)
    #38083176
GKS_Samara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день, Nixic!

> Когда в коде беру это число у объекта, то его значение становится 369.7548.
> В приложении картинка из дебага.

А как маппинг описан?

> Есть ли у кого объяснение такого поведения при вытаскивании объектов из
> БД? Использую Hibernate, может с ним что-то не так?

Явно происходит где-то преобразование во float.
Если не ошибка маппинга в настройках хибернейта- то бага где-то?

--
Алексей
JID: alxt@ya.ru
Posted
via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Округление.... о_О (PosgtreSQL + BigDecimal)
    #38083225
Nixic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
посмотрел массив который достается из габера, значение номральное 369755 со скейлом 3.
Так что это где-то у меня в коде... пойду дебажить дальше.
Спасибо. По результатам отпишу :)
...
Рейтинг: 0 / 0
Округление.... о_О (PosgtreSQL + BigDecimal)
    #38083235
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"габер"?
...
Рейтинг: 0 / 0
Округление.... о_О (PosgtreSQL + BigDecimal)
    #38083259
Nixic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хотел написать гибер ))

В общем я нашел косяк и поправил его. При формировании цены продажи наценка посчитанная из установленных пользователем процентов в формате BigDecimal была с 6 знаками после запятой прибавлялась к цене закупочной с 3-мя знаками, поэтому получалось, что пресловутый piceOut() уже имел 6 знаков.

Но очень странно, что массив объектов изменился в рамках одного метода.
В этом методе по массиву объектов несколько раз пробегается цикл for и производит некоторые операции с элементами, в том числе апдейт в БД. Но я считал, что это никак не может повлиять на Массив. Не понимаю, а точнее чего-то не знаю, пойду подебажу еще подробнее и может быть пойму.
...
Рейтинг: 0 / 0
Округление.... о_О (PosgtreSQL + BigDecimal)
    #38083290
Nixic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я правильно понимаю, что массив объектов, если изменить значение одного из его объектов в цикле, при дальнейшем использовании будет иметь в своем составе элемент с измененным значением?
Почему-то я раньше считал, что массивы и элементы берущиеся из него - это разные вещи. И изменения элементов, которые уже преобразованы в объекты конкретного типа не влияют на состав массива. Похоже, ошибался, пойду, пожалуй, документацию почитаю по циклам и по массивам.
...
Рейтинг: 0 / 0
Округление.... о_О (PosgtreSQL + BigDecimal)
    #38083323
Nixic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот я затупил-то!!! это же не new объект... всё ))) вопрос закрыт, сам дурак))
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Округление.... о_О (PosgtreSQL + BigDecimal)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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