rossmitchell / xfi-currency
用于与MoneyPHP一起使用的货币,可以处理带有分币的金融价格
v0.1.0
2019-07-07 13:14 UTC
Requires
- php: >=7.1
- moneyphp/money: ^3.2
Requires (Dev)
- phpunit/phpunit: ^8.2
- roave/security-advisories: dev-master
This package is auto-updated.
Last update: 2024-09-08 00:40:41 UTC
README
XFI Currency 是一个用于与Money PHP一起使用的新货币类型,可以处理带有分币的值。
安装
composer require rossmitchell/xfi-currency
理由
我正在处理与基金价格相关的金融信息。这些信息以分币的形式返回,例如,123.45表示1英镑23便士,45分。
为了避免每次使用这些数据时都记得转换,这个包创建了一个新的用于与Money库一起使用的货币,可以正确存储信息,然后允许在两种货币之间进行转换。
我使用代码XFI,因为ISO-4217中X用于表示与货币“相似”的事物,FI代表金融信息,而XFI尚未在列表中分配。
用法
使用货币就像使用代码一样简单,如下所示
<?php use Money\Currency; use Money\Money; use RossMitchell\XfiCurrency\XFI\XFICurrency; $xfiMoney = new Money('12345', new Currency(XFICurrency::CODE));
该包还提供了一个转换器,可以将货币转换为GBP,反之亦然。这目前使用XFI和GBP之间的固定汇率,不能转换为不同的货币。这可以在将来扩展。
<?php use Money\Currency; use Money\Money; use RossMitchell\XfiCurrency\Converter; use RossMitchell\XfiCurrency\Provider; use RossMitchell\XfiCurrency\XFI\XFICurrency; $gbp = new Money('123', new Currency('GBP')); $xfi = new Money('123', new Currency(XFICurrency::CODE)); $converter = new Converter(new Provider()); $convertedXfi = $converter->toXFI($gbp); $convertedGbp = $converter->toGbp($xfi);
该包还提供了一个用于货币的格式化程序,它可以包装标准货币。
<?php use Money\Currency; use Money\Money; use RossMitchell\XfiCurrency\Formatter; use RossMitchell\XfiCurrency\Provider; use RossMitchell\XfiCurrency\XFI\XFICurrency; $gbp = new Money('123', new Currency('GBP')); $xfi = new Money('123', new Currency(XFICurrency::CODE)); $formatter = new Formatter(new Provider()); echo $formatter->formatMoney($xfi); echo $formatter->formatMoney($gbp);
贡献
欢迎提交拉取请求。对于重大更改,请首先打开一个问题来讨论您想要更改的内容。
请确保适当地更新测试。