export function formatDateTime(dateTimeString: string): string { // Create a new Date object const dateTime = new Date(dateTimeString); // Get the various parts of the date const options: Intl.DateTimeFormatOptions = { year: "numeric", month: "long", day: "numeric", hour: "2-digit", minute: "2-digit", }; return dateTime.toLocaleDateString("en-GB", options); } export function formatNumber(number: number): string { const suffixes: string[] = ["", "k", "m", "b", "t"]; const suffixIndex: number = Math.floor(Math.log10(Math.abs(number)) / 3); // Check if the suffix index is within the available suffixes if (suffixIndex >= suffixes.length) { return number.toString(); // Return the number as is } // Check if the number is smaller and round to 2 decimal places const roundedNumber: number = Math.abs(number) < 1000 ? Number(number.toFixed(2)) : Number(number.toPrecision(4)); const formattedNumber: string = ( roundedNumber / Math.pow(1000, suffixIndex) ).toString(); return formattedNumber + suffixes[suffixIndex]; } export function roundToDecimalPlaces( number: number, decimalPlaces: number ): number { const factor = 10 ** decimalPlaces; return Math.round(number * factor) / factor; }