lbry-desktop/ui/util/number.js

23 lines
856 B
JavaScript
Raw Permalink Normal View History

// @flow
2022-05-06 15:31:36 +02:00
import { getFormatter } from './intlNumberFormat';
2022-04-26 17:28:23 +02:00
export function formatNumber(num: number, numberOfDigits?: number, short: boolean = false): string {
const language = localStorage.getItem('language') || undefined;
2022-04-26 17:28:23 +02:00
const safePrecision = Math.min(20, numberOfDigits || 0);
2022-05-06 15:31:36 +02:00
const formatter = getFormatter(language, {
2022-04-26 17:28:23 +02:00
maximumFractionDigits: safePrecision,
notation: short ? 'compact' : 'standard',
compactDisplay: 'short',
});
return formatter.format(num);
}
export function formatNumberWithCommas(num: number, numberOfDigits?: number): string {
return num.toLocaleString('en', { minimumFractionDigits: numberOfDigits !== undefined ? numberOfDigits : 8 });
}
2022-02-25 21:01:14 +01:00
export function isTrulyANumber(num: number) {
// typeof NaN = 'number' but NaN !== NaN
return typeof num === 'number' && num === num; // eslint-disable-line
}