From aebb4c54832b100ec16666ccffba74271f0bc537 Mon Sep 17 00:00:00 2001 From: mantikoros Date: Sat, 19 Mar 2022 12:30:23 -0500 Subject: [PATCH] formatPercent: only show decimal to at most 2 places --- common/util/format.ts | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/common/util/format.ts b/common/util/format.ts index 7f352cf2..611e5da4 100644 --- a/common/util/format.ts +++ b/common/util/format.ts @@ -18,20 +18,19 @@ export function formatWithCommas(amount: number) { return formatter.format(amount).replace('$', '') } -const decimalPlaces = (x: number) => Math.ceil(-Math.log10(x)) - 2 +export const decimalPlaces = (x: number) => Math.ceil(-Math.log10(x)) - 2 export function formatPercent(decimalPercent: number) { - const displayedFigs = + const decimalFigs = (decimalPercent >= 0.02 && decimalPercent <= 0.98) || decimalPercent <= 0 || decimalPercent >= 1 ? 0 - : Math.max( - decimalPlaces(decimalPercent), - decimalPlaces(1 - decimalPercent) - ) + : decimalPercent >= 0.01 && decimalPercent <= 0.99 + ? 1 + : 2 - return (decimalPercent * 100).toFixed(displayedFigs) + '%' + return (decimalPercent * 100).toFixed(decimalFigs) + '%' } export function toCamelCase(words: string) {