提供在python代码中使用的货币和货币类。

ud-py-moneyed的Python项目详细描述


定制的http://github.com/limist/py-moneyed分叉 扩展核心类的能力。

在软件中经常需要表示金钱的实例 开发,特别是任何金融/经济软件。到 为了满足这个需求,py moneyed包提供了 金钱和货币,在某种程度上比仅仅使用python的 十进制类,或者($神禁止)浮点原语。包裹是 是独立的,易于直接使用,或者是子类 更进一步。PY Moneyed获得BSD许可。

一些py moneyed代码最初是从python money派生的 可通过此url获得:http://code.google.com/p/python-money/,因为 谷歌代码版本从2008年5月起就一直处于不活跃状态 并在2010年根据我的需要进行了修改。与Python钱相比,少校 py moneyed的变化包括将它与django用法分开, 收紧型操作人员操作,整套装置 测试,pep8依从性,提供setup.py和本地货币 格式化/显示。

用法

注意密码!money类被实例化为:

  • 可以是int、string、float或decimal类型的量。 它将在内部转换为十进制。因此,这是最好的 为了避免浮点对象,因为它们不会无损地转换 小数点。
  • 一种货币,通常由三个大写字母指定 ISO货币代码,如美元、欧元、人民币等。 它将转换为货币对象。

例如,

frommoneyedimportMoneysale_price_today=Money(amount='99.99',currency='USD')

然后将money实例用作普通数。货币类提供 具有类型检查、匹配货币检查和合理的 维度行为,例如你不能乘两个货币实例,也不能 将货币实例添加到非货币编号;将货币实例除以另一个 产生十进制值等。

currency类提供了完整的iso 4217字典 货币数据,映射到货币实例的每个键(例如“美元”)。 使用ISO数字代码、英语规范名称和使用 货币。感谢python money开发人员 (可能很乏味)ISO代码的数据输入!

所有这些都可以在moneyed中作为预先构建的货币对象使用。 模块

也可以将参数作为位置参数传递给money。 所以你也可以写:

>>>frommoneyedimportMoney,USD>>>price=Money('19.50',USD)>>>price19USD>>>price.amountDecimal('19.50')>>>price.currencyUSD>>>price.currency.code'USD'

格式化

您可以按如下方式打印货币对象:

>>>frommoneyed.localizationimportformat_money>>>format_money(Money(10,USD),locale='en_US')'$10.00'

测试

已提供单元测试,可以使用tox运行(推荐) 或者只是测试。

如果你的系统上没有安装tox,它就是一种现代的python 自动化运行测试和部署的工具;将其安装到 全局python环境,具有:

sudo pip install tox

然后你可以激活一个virtualenv(任何一个will do-by design tox will 不是从全局安装的python)、cd运行到py moneyed 源目录然后在shell中运行测试:

cd where/py-moneyed-source/is
tox

如果没有测试中使用的所有python版本, 您可以使用pyenv。安装pyenv之后,安装 插件pyenv-implict

py moneyed包已经用python 2.6、2.7、3.2、3.3进行了测试 和Pypy 2.1。

未来

PY Moneyed的未来版本可以提供货币转换或 其他功能,取决于反馈和使用。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
JavaSpringbean已创建但未自动连接   java LibGDX游戏在三星Galaxy Grand Prime上结束   如何在Java中列出字符串句子中所有匹配条件的单词   java在Recyclerview中使用“putExtra”传递数据   java从一个特定的数组中提取特定的JSON对象,以便在Android中通过一个意图放入另一个活动   java需要使用IntelliJ和设置项目SDK的帮助   java springcontextindexer和Swagger 3   java使用indexOf和substring计算数字   java使用xml解析在word文档中查找隐式分页符   在添加<context:componentscan basepackage=“com.young.user”/   java无条件更改JTable单元格的背景色   选择列表中的java调用oracle函数:节点无数据类型   java如何添加缓冲图像作为JFrame的背景,然后在此图像上添加面板?   java Javadoc找不到用scala编写的类   java连接到文件共享程序的IP地址   java将数组元素加载到集合中   Tomcat中的java servlet、过滤器和线程   非Bean对象中的java EJB CDI注入?   java与println和printf的不同舍入