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

Всем привет, я храню цену в центах, использую sequelize Можно ли

сделать так, чтобы при отдаче модели на клиент цена автоматически переводилась в доллары (/ 100)? Или нужно везде следить за этим и переводить вручную?

13 ответов

37 просмотров

Надо написать на select

Павел- Автор вопроса
Dawut
Надо написать на select

не очень если честно понял, что за select?

Павел
не очень если честно понял, что за select?

Тебе надо переводить на доллары при методе find?

Павел- Автор вопроса
Dawut
Тебе надо переводить на доллары при методе find?

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

Павел- Автор вопроса
Dawut
Ну вот при запросе find умножай и все

ну даже если так, получается все равно при каждом разе придется это учитывать? я имею ввиду может есть какой-то способ один раз это прописать где-нибудь (возможно, чтобы при find появлялось автоматически доп. поле) и "забыть" об этом

Павел
ну даже если так, получается все равно при каждом ...

Давай начнём с базового. При операциях с плавающей точкой происходит потеря точности. Поэтому ты хранишь цену в целочисленных центах, что логично. Теперь по непонятной причине ты хочешь что бы база вместо нормального целочисленного цента возвращала тебе на бэк абсолютно непредназначенный для точных вычислений флоат. За такое на код ревью обычно бьют по рукам. Центы в доллары нужно конвертировать исключительно на фронте, на этапе отображения пользователю. В остальное время работа идёт только с центами

Павел- Автор вопроса
Ashish Cancelado
Давай начнём с базового. При операциях с плавающей...

Вообще-то я не говорил, что мне нужно, чтобы база отдавала в бэк флоат, а наоборот, чтобы база отдала центы (как и должно быть), я работал с центами, и только при отдаче данных на клиент отдавались баксы А насчет того, что правильнее конвертить цену на фронте - есть какое-то более подробное объяснение почему так?

Про операции с плавающей точкой и потерю точности осведомлен?

Павел- Автор вопроса
Ashish Cancelado
Про операции с плавающей точкой и потерю точности ...

Это я знаю, зачем на фронте вообще что-то делать с ценой, кроме как показывать ее пользователю?

Павел
Это я знаю, зачем на фронте вообще что-то делать с...

Берём банальный пример с корзиной интернет магазина. Пользователь накидал себе в корзину товаров, ещё и промокод на % скидки активировал вредитель. Фронт посчитал флоаты и отобразил одну сумму, а бэк насчитал другую. Расхождение естественно копеечное, но зачем на ровном месте создавать неконсистентность?

Павел- Автор вопроса

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

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

@Benzenoid can you tell me the easiest, and safest way to bu.y HEX now?
Živa Žena
20
This is a question from my wife who make a fortune with memes 😂😂 About the Migration and Tokens: 1. How will the old tokens be migrated to the new $LGCYX network? What is th...
🍿 °anton°
2
What is the Dex situation? Agora team started with the Pnetwork for their dex which helped them both with integration. It’s completed but as you can see from the Pnetwork ann...
Ben
1
Anyone knows where there are some instructions or discort about failed bridge transactions ?
Jochem
21
@lozuk how do I get my phex copies of my ehex from a atomic wallet, to move to my rabby?
Justfrontin 👀
11
Hello, Is iExec also part of the "inception program" or another one ? Would it be a name to qualified the nature of the relationship between iExec and Nvidia? And does Secret ...
Ñïķøłäś
8
Ready for some fun AND a chance to win TKO Tokens? Join us for exciting minigames in our Telegram group! 🕒 Don’t miss out—games start on today 25 October 2024, at 8 PM! Ge...
Milkyway | Tokocrypto
255
any reference of this implementation?
BitBuddha
29
Also, why can’t the community have a vote/ say when it comes to initiatives like buybacks. Isn’t the point of crypto decentralisation? Don’t we deserve input as long term supp...
👨🏽‍🦰
13
Hi guys, any problem with Pulsebrige? Trying to transfer from wETH to ETH. First it tells me to connect my metamask "through mobile app" not desktop. Then I did and confirmed ...
Snowflakecrypto
13
Карта сайта