Custom Pipe: Deutsches Währungsformat

Standardmässig bietet Angular 2 mit der Curreny Pipe eine Möglichkeit, numerische Werte in ein entsprechendes Währungsformat zu verwandeln. Der (m.M.n) große Nachteil liegt allerdings darin, dass zum einen das Währungskürzel fest vor den jeweiligen Betrag gesetzt wird (oder eben gar nicht angezeigt). Zum anderen bleibt als Dezimaltrenner weiterhin der Punkt bestehen, anstelle des in Deutschland üblichen Kommas.
Mit einer entsprechenden (einfachen) Custom Pipe kann dem allerdings entgegen gewirkt werden:
customcurrency.pipe.ts:

import { PipeTransform, Pipe } from "@angular/core";
import { isNumeric } from "rxjs/util/isNumeric";

@Pipe({name: 'customcurrency'})
export class CustomcurrencyPipe implements PipeTransform {
    transform(value: string, currencySymbol: string): any {

        // Cast to float and make it 2 decimal places, set the currency symbol and replace . with ,
        var numberValue = parseFloat(value).toFixed(2);
        numberValue = numberValue.replace(/\./g, ",");
        numberValue = numberValue + " " + currencySymbol;

        return numberValue;
    }
}

Template:

{{ shippingCosts | customcurrency: '€' }}

Und das war’s!
ps: Vergesst nicht die CustomcurrencyPipe Klasse in app.module.ts (unter „declaration“) zu registrieren, damit die Pipe global in der App genutzt werden kann.