【问题标题】:How to store & process currencies in mysql / zend framework如何在 mysql/zend 框架中存储和处理货币
【发布时间】:2011-01-31 11:30:00
【问题描述】:

我们想在 MySQL 中存储产品价格和重量(公斤/磅)。谁能告诉我最好的方法是什么?

双/十进制/...?

我们需要能够同时显示美元和欧元。 我不知道它是否有帮助,但我们使用 Zend 框架来构建我们的应用程序。

【问题讨论】:

    标签: mysql zend-framework currency zend-currency


    【解决方案1】:

    你看过Zend_Currency函数族吗?

    此组件适用于所有可用的语言环境,因此了解 100 多种不同的本地化货币。这包括货币名称、缩写、货币符号等信息。

    Zend_Currency 的优点是可以重复使用已经定义的货币表示。对于同一种货币,您还可以有 2 种不同的表示形式。

    Zend_Currency 还允许您使用货币值进行计算。因此,它为您提供了一个交换服务的接口。

    如果您喜欢 Zend 框架的那部分,我猜很多决定会根据它们用于处理这些值的方式“自行解决”。

    【讨论】:

    • 谢谢,我现在正在使用 zend_currency 组件。无法弄清楚如何像这样格式化货币:$ 200,00 USD(首先是符号,然后是金额,然后是简称)。您可能有任何代码示例吗?
    • @Jorre 我自己还没有使用过它(我自己现在才进入 ZF)但是从我在这里可以读到的内容:framework.zend.com/manual/en/zend.currency.options.html 它绝对应该可以构建自定义格式。不过,粗略的搜索并没有显示任何示例。
    • @Jorre 这是一个如何设置一般格式的示例,也许它有助于结合手动输入:stackoverflow.com/questions/2158698/…
    【解决方案2】:

    货币使用小数

    来自http://dev.mysql.com/doc/refman/5.1/en/numeric-types.html: DECIMAL 和 NUMERIC 数据类型用于存储精确的数字数据值。在 MySQL 中,NUMERIC 被实现为 DECIMAL。这些类型用于存储对保持精确精度很重要的值,例如货币数据。

    【讨论】:

      【解决方案3】:

      我们总是使用decimal 并添加一个currency_id 字段来表示货币。

      您可以使用idnamesign 创建一个货币表,并将其加入到价格查询中。

      【讨论】:

      • 非常感谢,你会用什么来减肥?公斤/磅?也是十进制?
      猜你喜欢
      • 1970-01-01
      • 2022-08-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-27
      • 2016-06-21
      • 1970-01-01
      • 2011-10-13
      相关资源
      最近更新 更多