2025-04-24 13:11:28 +08:00

29 lines
653 B
TypeScript

import getMeta from '@/utils/meta'
const DEFAULT_LOCALE = getMeta('ol-i18n')?.currentLangCode ?? 'en'
export function formatCurrency(
amount: number,
currency: string,
locale: string = DEFAULT_LOCALE,
stripIfInteger = false
): string {
const options: Intl.NumberFormatOptions = { style: 'currency', currency }
if (stripIfInteger && Number.isInteger(amount)) {
options.minimumFractionDigits = 0
}
try {
return amount.toLocaleString(locale, {
...options,
currencyDisplay: 'narrowSymbol',
})
} catch {}
try {
return amount.toLocaleString(locale, options)
} catch {}
return `${currency} ${amount}`
}