@shopware-ag/meteor-component-library
Version:
The meteor component library is a Vue component library developed by Shopware. It is based on the [Meteor Design System](https://shopware.design/).
31 lines (27 loc) • 709 B
text/typescript
export interface CurrencyOptions extends Intl.NumberFormatOptions {
language?: string;
}
export function currency(
val: number,
sign: string,
decimalPlaces?: number,
additionalOptions: CurrencyOptions = {},
): string {
const decimalOpts =
decimalPlaces !== undefined
? {
minimumFractionDigits: decimalPlaces,
maximumFractionDigits: decimalPlaces,
}
: {
minimumFractionDigits: 2,
maximumFractionDigits: 20,
};
const opts: Intl.NumberFormatOptions = {
style: "currency",
currency: sign,
...decimalOpts,
...additionalOptions,
};
return val.toLocaleString(additionalOptions.language ?? "en-US", opts);
}