Как хранить и обрабатывать валюты в MySQL / Zend Framework - PullRequest
0 голосов
/ 25 марта 2010

Мы хотим хранить цены и вес товара (кг / фунт) в MySQL. Может кто-нибудь сказать мне, как лучше это сделать?

двойной / десятичный / ...?

Нам нужно иметь возможность отображать как доллары США, так и евро. Я не знаю, помогает ли это, но мы используем Zend Framework для создания нашего приложения.

Большое спасибо!

Ответы [ 3 ]

1 голос
/ 25 марта 2010

Вы смотрели на семейство функций Zend_Currency ?

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

Преимущество Zend_Currency в том, что уже определенные представления валют могут быть использованы повторно. Вы также можете иметь 2 разных представления для одной и той же валюты.

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

Если вам понравилась эта часть Zend Framework, я думаю, что многие решения будут "разбираться" на основе того, что они используют для работы со значениями.

1 голос
/ 25 марта 2010

Мы всегда используем decimal и добавляем поле currency_id для обозначения валюты.

Вы можете создать таблицу валют с id, name и sign и присоединиться к ней по запросам цен.

1 голос
/ 25 марта 2010

для использования десятичной валюты

из http://dev.mysql.com/doc/refman/5.1/en/numeric-types.html: Типы данных DECIMAL и NUMERIC используются для хранения точных числовых значений данных. В MySQL NUMERIC реализован как DECIMAL. Эти типы используются для хранения значений, для которых важно сохранить точную точность, например, с денежными данными.

...