172 похожих чатов

Есть ли смысл использовать decimal(numeric), а не bigint, если у

меня одна валюта USD, которая хранится в центах?

13 ответов

11 просмотров

Decimal всегда надо юзать

Dmitry-Croft Автор вопроса
central hardware
Decimal всегда надо юзать

Почему всегда? Можно развёрнутый ответ по поводу моего кейса?

Смотря как привыкли писать. В среднем — есть, очень правильно это выглядит — что суммы денег хранятся и показываются как обычно. Но сломать всё через неправильные округления есть шанс и там и там. Просто чуть-чуть в разных местах. А как проще конкретно вам — это вам виднее.

Dmitry-Croft Автор вопроса
Ilya Anfimov
Смотря как привыкли писать. В среднем — есть, оче...

А что такое неправильное округление? Decimal в postgres как я понимаю не даёт мне выбора в том, как я буду откруглять (в отличие от BigDecimal в Java, например). Получается проще мне хранить всё в BigInt, вычисления делать у себя в Java и сохранять уже округлённое как мне нужно Или я не прав?

Dmitry Croft
А что такое неправильное округление? Decimal в po...

Неправильное округление — это округление, несоответствующее бизнес-требованиям.

Dmitry Croft
А что такое неправильное округление? Decimal в po...

Если ВАМ проще хранить в bigint и других программистов на проекте нет — то хранить, конечно, надо в bigint. Собственно, примерно это я и написал в первом ответе.

Dmitry-Croft Автор вопроса
Ilya Anfimov
Если ВАМ проще хранить в bigint и других программ...

А почему bigint не подходит когда есть дургие программисты?

Dmitry-Croft Автор вопроса
Ilya Anfimov
Я этого не говорил.

и других программистов на проекте нет или я не так понял?

Dmitry Croft
А что такое неправильное округление? Decimal в po...

Если вычисления на BigDecimal в java, то нет смысла хранить в bigint, при хранении никаких округлений не будет ведь.

Dmitry-Croft Автор вопроса
Radist
Если вычисления на BigDecimal в java, то нет смысл...

А если я работаю с деньгами в центах. При вычислении процента у меня получаются нецелые числа, я округляю до целых тем методом, что мне нужен (благодаря BigDecimal) и сохраняю как bigint Или лучше работать с bigdecimal в долларах, а не центах и, соответственно, хранить как доллары в decimal?

Dmitry Croft
А если я работаю с деньгами в центах. При вычислен...

Это оффтопик здесь, но в BigDecimal вы можете округлять до любого разряда, который вам нужен. Не обязательно округлять до целого. Конвертация к нужному разряду (ден.единица <=> центы) - один из источников потенциальных ошибок в коде, я бы постарался такие конвертации минимизировать.

Dmitry-Croft Автор вопроса
Radist
Это оффтопик здесь, но в BigDecimal вы можете окру...

Наверное, вопрос как конвертировать и нужно ли хранить дроби, больше вопрос бизнеса чем технический. Поэтому да, скорее всего это уже оффтоп, но спасибо

Похожие вопросы

Обсуждают сегодня

читать файл максимально быстро? странный вопрос))
zamtmn
53
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
я имею в виду официально интегрированный в телегу? в том плане что не сливает переписку с пользователем?
Andrey
9
Кто-нибудь решал проблему с автоматическим скроллингом к выбранной ячейке в TDBGrid в Lazarus? Проблема в том, что есть допустим 3 столбца, третий столбец виден наполовину, вк...
Дмитрий Логинов
1
А чего сейчас в моде вместо Error для эксепшенов? А то я тут внезапно узрел что он не рекомендуется :) У Try::Tiny какой-то совершенно ужасный синтаксис если надо конкретные э...
Denis F
19
Приветствуем всех! Устали без проектов? Если вы программист и хотите получать стабильные заказы, компания Elif предлагает вам недельный курс по поиску проектов и их ведению. ...
Elif
1
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Чорт! Чорт! Чорт! Стала ставить через GetIt (написано же, что ручками не рекомендуется) Сломалось на дублировании моей TSkLabel. Чтож мне ее по всем проектам переименовывать в...
Катерина Свиридова
7
Привет. Сразу скажу, что на C/C++/Rust я не пишу, но тем не менее возникла потребность дебага C/C++/Rust кода. Суть: есть серверное приложение, которое периодически ведёт себ...
ninekeem 🐳
4
всем привет! углубившись в плюсы и начав изучать реверсинг понял, что без асм'а никуда со своими высокоабстрактными представлениями начал изучать механизмы асма, и не совсем п...
9
Карта сайта