Как хранить цены в Couchbase без потери точности? - PullRequest
0 голосов
/ 23 мая 2018

У меня есть база данных Couchbase, и я хотел бы хранить price без потери точности - double на самом деле недостаточно для моего приложения.Однако, похоже, что в Couchbase нет поддержки типов данных валюты.

Есть ли предпочтительное решение этой проблемы для этого механизма базы данных?

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

1 Ответ

0 голосов
/ 23 мая 2018

Это действительно проблема с JSON, но поскольку Couchbase использует чистый JSON, он применяется:)

Одно из решений, которое я видел, это сохранить его как целое число.

ДляНапример, если вы хотите хранить цену в $ 129,99, вы должны хранить число 12999. Это может быть несколько раздражающим, но в зависимости от того, какой язык / фреймворк вы используете, настроить ваш (де) сериализатор может быть относительно легко.обрабатывать это автоматически.Или вы можете создать вычисляемое свойство в вашем классе (при условии, что вы используете ООП).Или вы можете использовать AOP.

Но в любом случае ваша точность сохраняется.Ваше строковое решение также будет работать с аналогичными оговорками.

...