formatCurrencyByLanguage() gibt 'B7D' als Währungseinheit zurück

Hallo,

ich formatiere im Subscriber eine Zahlenwert als Währung.
Als Währungseinheit bekomme ich jedoch ‚B7D‘ zurück.

Subscriber:

use Shopware\Core\System\Currency\CurrencyFormatter;

$differenceProductSumFormated = $this->currencyFormatter->formatCurrencyByLanguage(
                    9.4,
                    $event->getSalesChannelContext()->getCurrency()->getId(),
                    $event->getSalesChannelContext()->getLanguageId(),
                    $event->getContext()
);

In der services.xml habe ich dafür Shopware\Core\System\Currency\CurrencyFormatter registriert.

Ergebnis: 9,40 B7D

Zuerst dachte ich, das ich evtl. eine Dateninkonsistenz auf Datenbankebene habe, das ist jedoch nicht der Fall.

Benutze ich den richtigen Service? Kann wer mein Problem nachvollziehen?

Danke im Voraus
Gruß Kai

Hi,
versuch mal, statt der CurrencyId den Isocode verwenden:

$differenceProductSumFormated = $this->currencyFormatter->formatCurrencyByLanguage(
                    9.4,
                    $event->getSalesChannelContext()->getCurrency()->getIsoCode(),
                    $event->getSalesChannelContext()->getLanguageId(),
                    $event->getContext()
);
1 „Gefällt mir“

Danke @geppii, das wars :slight_smile: