vinaikopp/currency-info

提供显示货币金额的基本信息

2.0.1 2016-06-01 19:42 UTC

This package is auto-updated.

Last update: 2024-09-07 01:48:22 UTC


README

此存储库提供了一种简单的方法来获取显示给定货币金额所需的数据

  • 小数位数(例如,对有100个子单位的货币如USD,则为2)
  • 舍入(例如,对如CHF之类的货币,则为0.05)
  • 国际符号(例如,EUR的€)
  • 本地符号(例如,USD的$)

要查找信息,请使用(ISO 4217)三位字母货币代码,例如DKK或EUR)。

背景

有时,提供所有关于货币信息的货币包可能过于冗余。我可能只想渲染一个货币值。
PHP可以本地很好地格式化货币值,但不知道默认的小数位数,例如。
这就是这个包可以用作的地方。它不提供关于转换或除法等功能的任何功能。
这个包所做的一切只是提供关于给定货币的信息。

安装

使用composer安装

$ composer require vinaikopp/currency-info "^2.0.0"

或手动将其添加到composer.json文件中

{
    "require": {
        "vinaikopp/currency-info": "^2.0.0"
    }
}

用法

例如,要显示默认小数位数金额,可以使用以下示例

使用静态方法的示例

use VinaiKopp\CurrencyInfo\StaticAccess\CurrencyInfo;

$currency = 'EUR';
$locale = 'de_DE';
$formatter = new \NumberFormatter($locale, \NumberFormatter::CURRENCY);
$decimalPlaces = CurrencyInfo::getFractionDigitsForCurrency($currency);
$formatter->setAttribute(\NumberFormatter::FRACTION_DIGITS, $decimalPlaces);

echo $formatter->formatCurrency($value, $currency);

如果您使用依赖注入容器并希望注入实例,可以使用\VinaiKopp\CurrencyInfo\CurrencyInfo

使用货币信息实例的示例

public function __construct(\VinaiKopp\CurrencyInfo\CurrencyInfo $currencyInfo)
{
    $this->currencyInfo = $currencyInfo;
    $this->currency = 'USD';
    $this->locale = 'en_US'
}

public function format($amount)
{
    $formatter = new \NumberFormatter($this->locale, \NumberFormatter::CURRENCY);
    $decimalPlaces = $this->currencyInfo->getFractionDigitsForCurrency($this->currency);
    $formatter->setAttribute(\NumberFormatter::FRACTION_DIGITS, $decimalPlaces);

    return $formatter->formatCurrency($amount, $this->currency);
}

它不是什么

此包不提供执行货币计算或货币转换的功能。如果需要这些功能,建议使用mathiasverraes/money

持续集成

数据从哪里来?

此映射基于LocalePlanet Currency Map
感谢他们的出色工作!!