Files
twenty/packages/twenty-shared/src/utils/format/formatToShortNumber.ts
T
Raphaël BosiandGitHub d0bc8b9ffe [DASHBOARDS] Move all the graph computing logic to the backend (#17189)
- Create resolvers for each type of charts which needs data
transformation after the group by operation: Bar Chart, Line Chart and
Pie Chart
- Move all the utils to the backend and refactored some into services

This allows all the computation to be done in the backend, improving
performances in the frontend.
2026-01-19 17:25:45 +00:00

27 lines
635 B
TypeScript

export const formatToShortNumber = (amount: number) => {
const sign = amount < 0 ? '-' : '';
const absoluteAmount = Math.abs(amount);
if (absoluteAmount < 1000) {
return sign + absoluteAmount.toFixed(1).replace(/\.?0+$/, '');
}
if (absoluteAmount < 1_000_000) {
return (
sign + (absoluteAmount / 1000).toFixed(1).replace(/\.?0+$/, '') + 'k'
);
}
if (absoluteAmount < 1_000_000_000) {
return (
sign + (absoluteAmount / 1_000_000).toFixed(1).replace(/\.?0+$/, '') + 'm'
);
}
return (
sign +
(absoluteAmount / 1_000_000_000).toFixed(1).replace(/\.?0+$/, '') +
'b'
);
};