2023-05-06 19:51:53 +02:00
|
|
|
const ranges = [
|
|
|
|
|
{ divider: 1e18, suffix: 'E' },
|
|
|
|
|
{ divider: 1e15, suffix: 'P' },
|
|
|
|
|
{ divider: 1e12, suffix: 'T' },
|
|
|
|
|
{ divider: 1e9, suffix: 'G' },
|
|
|
|
|
{ divider: 1e6, suffix: 'M' },
|
|
|
|
|
{ divider: 1e3, suffix: 'k' },
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
export const formatNumber = (n: number, decimalPlaces: number) => {
|
|
|
|
|
// eslint-disable-next-line no-restricted-syntax
|
|
|
|
|
for (const range of ranges) {
|
2023-07-21 18:08:40 +09:00
|
|
|
if (n < range.divider) continue;
|
2023-05-06 19:51:53 +02:00
|
|
|
|
2023-07-21 18:08:40 +09:00
|
|
|
return (n / range.divider).toFixed(decimalPlaces) + range.suffix;
|
2023-05-06 19:51:53 +02:00
|
|
|
}
|
|
|
|
|
return n.toFixed(decimalPlaces);
|
|
|
|
|
};
|