2010-03-24 2 views
0

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

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

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

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

ответ

1

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

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

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

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

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

+0

спасибо, я использую компонент zend_currency прямо сейчас. Невозможно понять, как форматировать валюту, как это: $ 200,00 USD (сначала символ, затем сумма, за которой следует краткое название). Есть ли у вас примеры кода? – Jorre

+0

@Jorre Я еще не работал с ним (просто попав прямо в ZF прямо сейчас), но из того, что я могу прочитать здесь: http://framework.zend.com/manual/en/zend.currency.options. html, безусловно, возможно создать пользовательские форматы. Однако беглый поиск не показывает никаких примеров. –

+0

@ Jorre вот пример того, как установить формат в целом, возможно, он помогает в сочетании с записями вручную: http://stackoverflow.com/questions/2158698/zend-currency-symbol-is-displaying-1 –

1

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

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

1

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

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

+0

благодарит много, что бы вы использовали для веса? Кг/фунты? Десятичный? – Jorre