无法将欧元货币转换为其符号

时间:2014-11-05 07:45:25

标签: symfony

我需要什么

  • 我需要转换欧元货币符号。
  • 我检查了除欧元以外的其他国家/地区的货币。

源代码

     use Symfony\Component\Intl\ResourceBundle\CurrencyBundle;
    class EventDetailController extends Controller
    {

    $currenc = $data_fees[0]['currency'];
    $currenc=EURO 
    $currency= Intl::getCurrencyBundle()->getCurrencySymbol($currenc);
     output : 
    }
  • 问题即时获取欧元货币未转换为其符号。

    问题

    $currency= Intl::getCurrencyBundle()->getCurrencySymbol('EUR'); 
    output : €
    
  • 我检查了除欧元外转换的所有货币代码。
  • 我找到了解决办法,但这是静态的。

                if ($currenc =='EURO')
                {
                 $currency= Intl::getCurrencyBundle()->getCurrencySymbol('EUR');
                }
                else
                {
                 $currency= Intl::getCurrencyBundle()->getCurrencySymbol($currenc); 
                }
    
  • 如果它在symphn intln bundle中的问题提出了一些解决方案来处理这个问题。

1 个答案:

答案 0 :(得分:0)

您的字符串EURO错误。由于ISO中http://www.iso.org/iso/home/standards/currency_codes.htm货币代码中的状态可以用两种方式表示:三字母字母代码和三位数字代码。

对于欧元货币,货币代码将为EUR。检查ISO组织的完整列表:http://www.currency-iso.org/en/home/tables/table-a1.html

您案件的正确代码为:

use Symfony\Component\Intl\ResourceBundle\CurrencyBundle;
class EventDetailController extends Controller
{
// ...
    $currenc = 'EUR'; 
    $currency = Intl::getCurrencyBundle()->getCurrencySymbol($currenc);
// ...
}