29 lines
904 B
TypeScript
29 lines
904 B
TypeScript
export const formatCurrency = (value: number, decimals = 2): string => {
|
|
const abs = Math.abs(value);
|
|
const formatted = abs.toLocaleString('en-US', {
|
|
minimumFractionDigits: decimals,
|
|
maximumFractionDigits: decimals,
|
|
});
|
|
const prefix = value >= 0 ? '+$' : '-$';
|
|
return `${prefix}${formatted}`;
|
|
};
|
|
|
|
export const formatPrice = (value: number): string => {
|
|
if (value >= 1000) {
|
|
return `$${value.toLocaleString('en-US', { minimumFractionDigits: 2, maximumFractionDigits: 2 })}`;
|
|
}
|
|
if (value >= 1) {
|
|
return `$${value.toFixed(2)}`;
|
|
}
|
|
return `$${value.toFixed(4)}`;
|
|
};
|
|
|
|
export const formatPercent = (value: number): string => {
|
|
const prefix = value >= 0 ? '+' : '';
|
|
return `${prefix}${value.toFixed(2)}%`;
|
|
};
|
|
|
|
export const formatNumber = (value: number): string => {
|
|
return `$${value.toLocaleString('en-US', { minimumFractionDigits: 2, maximumFractionDigits: 2 })}`;
|
|
};
|