assimtech/money

此包已被放弃,不再维护。作者建议使用assimtech/fiat包。

货币、货币单位和会计

1.1.3 2016-10-19 09:45 UTC

This package is auto-updated.

Last update: 2019-04-10 02:46:48 UTC


README

Build Status Scrutinizer Code Quality Code Coverage

提供表示货币和执行货币算术运算的会计模型,避免四舍五入错误

此存储库已迁移至 Assimtech\Fiat

Assimtech\Money的最后一个版本是1.1.3Assimtech\Fiat2.0.0开始。迁移是因为Assimtech\Money\Money的命名。

模型

货币

$usd = new Assimtech\Money\Currency('USD');
echo (string)$usd; // Outputs USD
echo $usd->getFractionDigits(); // Outputs 2

$jpy = new Assimtech\Money\Currency('JPY');
echo $jpy->getFractionDigits(); // Outputs 0

$iqd = new Assimtech\Money\Currency('IQD');
echo $iqd->getFractionDigits(); // Outputs 3

货币

// assuming Locale is en-US
$money = new Money(pi(), $usd);
echo (string)$money; // Outputs 3.14 USD
echo $money->getFormattedAmount(); // Outputs 3.14
echo $money->getFormattedAmount('de-DE'); // Outputs 3,14

会计

$accountant = new Assimtech\Money\Accountant();

$threeUSD = $accountant->add($oneUSD, $twoUSD);

$sixUSD = $accountant->subtract($tenUSD, $fourUSD);

$eightUSD = $accountant->multiply($fourUSD, 2);

$threeUSD = $accountant->divide($nineUSD, 3);

$sixUSD = $accountant->sum(array(
    $oneUSD,
    $twoUSD,
    $threeUSD,
));

Twig扩展

会计也作为Twig扩展公开

{{ add_money(money1, money2) }}

{{ subtract_money(money1, money2) }}

{{ multiply_money(money, fraction) }}

{{ divide_money(money, fraction) }}

{{ sum_money([ money1, money2, money3 ]) }}

框架

请参阅MoneyBundle,了解如何与Symfony 2集成