rossmitchell/xfi-currency

用于与MoneyPHP一起使用的货币,可以处理带有分币的金融价格

v0.1.0 2019-07-07 13:14 UTC

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);

贡献

欢迎提交拉取请求。对于重大更改,请首先打开一个问题来讨论您想要更改的内容。

请确保适当地更新测试。

许可证

GPL3