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

Всем привет, вопрос насчет хранения стоимости в базе Сейчас стоимость лежит

просто в INT, соответственно все стоимости товаров целочисленные и в целом ок, так и нужно для проекта

Но вот слышал, что лучше хранить в копейках, на случай того, если цена на какой-либо из продуктов вдруг станет не целым числом

Как лучше, в копейках или просто в INT?

33 ответов

20 просмотров

В базе хранить в типе number или money

Ilya- Автор вопроса
✙ Nikita 🇺🇦🇵🇱🇱🇻🇱🇹🇪🇪🇺🇸🇬🇧🇨🇿🇫🇷🇩🇪🇮🇹🇧🇬🇹🇼🇯🇵🇰🇷🇹🇷🇪🇸🇬🇷
А что в интах сейчас?

Да, рубли Ценник в интах стоит Сам товар цифровой и в теории копеек в цене тут не будет, поэтому хз даже как правильнее сделать, то ли оставить как есть, то ли в копейках хранить все цены, то ли вообще другой тип данных брать

Ilya- Автор вопроса
Ilya- Автор вопроса
✙ Nikita 🇺🇦🇵🇱🇱🇻🇱🇹🇪🇪🇺🇸🇬🇧🇨🇿🇫🇷🇩🇪🇮🇹🇧🇬🇹🇼🇯🇵🇰🇷🇹🇷🇪🇸🇬🇷
Вы не сможете просто копейки записать

В принципе да, логично) Таких цен как 130р 50 коп у меня тут в принципе не предпологается конечно, но на всякий сделаю все же в копейках тогда, чтобы в будущем проблем не было)

Ilya
В принципе да, логично) Таких цен как 130р 50 коп...

В рублях это не особо важно в наших реалиях, но были бы евро или доллары, то потеряв там пару центиков, там десяточку, в отчете за месяц сумма бы вышла на порядок ниже реальной

Ilya- Автор вопроса
✙ Nikita 🇺🇦🇵🇱🇱🇻🇱🇹🇪🇪🇺🇸🇬🇧🇨🇿🇫🇷🇩🇪🇮🇹🇧🇬🇹🇼🇯🇵🇰🇷🇹🇷🇪🇸🇬🇷
В рублях это не особо важно в наших реалиях, но бы...

Это да) А кстати если в дальнейшем будет несколько валют в проекте, то как лучше все это хранить? Делать отдельную таблицу и в ней держать цены продукта в разных валютах?

Ilya
Это да) А кстати если в дальнейшем будет нескольк...

Валюта разная в пределах одногл магазина? Или просто чтобы юзер мог в своей валюте видеть?

Ilya- Автор вопроса
✙ Nikita 🇺🇦🇵🇱🇱🇻🇱🇹🇪🇪🇺🇸🇬🇧🇨🇿🇫🇷🇩🇪🇮🇹🇧🇬🇹🇼🇯🇵🇰🇷🇹🇷🇪🇸🇬🇷
Валюта разная в пределах одногл магазина? Или прос...

Если он просто будет видеть в своей валюте, но будет находиться к примеру в Европе, то с оплатой могут быть траблы? И в целом для оплаты в других странах наверное уже тот же Тинькофф эквайринг не подойдет, нужно что-то вроде paypal/stripe отдельно ставить?

Ilya
Если он просто будет видеть в своей валюте, но буд...

Платежные системы обычно принимают оплату с любой карты Visa/Mastercard, поэтому страна эмитент здесь не особо важна

Ilya- Автор вопроса
✙ Nikita 🇺🇦🇵🇱🇱🇻🇱🇹🇪🇪🇺🇸🇬🇧🇨🇿🇫🇷🇩🇪🇮🇹🇧🇬🇹🇼🇯🇵🇰🇷🇹🇷🇪🇸🇬🇷
Платежные системы обычно принимают оплату с любой ...

Понял, тогда отлично Получается, что в таком случае нужно будет просто показать юзеру цену в его валюте? Т.е на бэке на лету по актуальному прайсу вычислить ценник и отдать на фронт?

Ilya
Понял, тогда отлично Получается, что в таком случ...

Ну вот смотрите, на АлиЭкспресс можно увидеть цены в почти любой валюте мира, не думаю что товарищи китайцы-менеджеры сидят и постоянно вносят цену для каждой валюты для их сотни тысяч товаров Поэтому если например у бизнеса оборот весь в долларах, можно цену ставить в долларах и на лету по курсу валют на фронте конвертировать их для отображения пользователю. Но тут маленький нюанс чтобы юзер при оплате оплатил ровно такую же сумму как ему показали на странице товара, не больше и не меньше, что может случиться из за скачка курса, ошибок округления и т.д

Andy Cox
лучше на бэке конвертировать, а еще лучше подхваты...

Ну бек может зафиксировать курс и фронту отдавать а фронт пусть множит и грузит девайс юзера)

Ilya- Автор вопроса
✙ Nikita 🇺🇦🇵🇱🇱🇻🇱🇹🇪🇪🇺🇸🇬🇧🇨🇿🇫🇷🇩🇪🇮🇹🇧🇬🇹🇼🇯🇵🇰🇷🇹🇷🇪🇸🇬🇷
Ну вот смотрите, на АлиЭкспресс можно увидеть цены...

Понял Да уж, с учетом того, что курс постоянно меняется, придется над этим помучаться видимо)

✙ Nikita 🇺🇦🇵🇱🇱🇻🇱🇹🇪🇪🇺🇸🇬🇧🇨🇿🇫🇷🇩🇪🇮🇹🇧🇬🇹🇼🇯🇵🇰🇷🇹🇷🇪🇸🇬🇷
Ну бек может зафиксировать курс и фронту отдавать ...

ну просто некоторые эквайринги за конвертацию берут денюжку, лучше это заложить в систему, чтобы не офигевать с убытков

Ilya- Автор вопроса
Ilya- Автор вопроса
Евгений Скоробогатый
Постгрес

Да уже вроде как все на mysql делал, переезжать щас наверное проблематично будет

Ilya
Да уже вроде как все на mysql делал, переезжать ща...

в крайнем случае всегда есть опция 🚴‍♂️ Math.round(value * 100) / 100

Ilya
Numeric тоже нет)

https://dev.mysql.com/doc/refman/5.7/en/numeric-types.html есть такое в мускуле

Ilya- Автор вопроса
Евгений Скоробогатый
https://dev.mysql.com/doc/refman/5.7/en/numeric-ty...

У меня сейчас вообще стоит MariaDB 10.4.19 ))

Ilya- Автор вопроса
Ilya
+

ну и юзай decimal, лучше ничего не будет

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

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

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Карта сайта