diff --git a/apps/web/src/common/utils/format.test.tsx b/apps/web/src/common/utils/format.test.tsx index 7b6f1ea55..622a3c15c 100644 --- a/apps/web/src/common/utils/format.test.tsx +++ b/apps/web/src/common/utils/format.test.tsx @@ -32,4 +32,9 @@ describe('format', () => { expect(roundedNum(1.2345, 3)).toEqual(1.235); expect(roundedNum(100000)).toEqual(100000); }); + + it('honours a zero decimal count instead of falling back to two', function () { + expect(roundedNum(1.9, 0)).toEqual(2); + expect(roundedNum(1.4, 0)).toEqual(1); + }); }); diff --git a/apps/web/src/common/utils/format.tsx b/apps/web/src/common/utils/format.tsx index b684d448b..13f29d048 100644 --- a/apps/web/src/common/utils/format.tsx +++ b/apps/web/src/common/utils/format.tsx @@ -124,7 +124,9 @@ export const fmtEmptyDataValue = (value: any): any => { }; export const roundedNum = (num: number, decimalPoint?: number) => { - const base = Math.pow(10, decimalPoint || 2); + // `|| 2` turned an explicit 0 into two decimals, so rounding to whole + // numbers was impossible. + const base = Math.pow(10, decimalPoint ?? 2); return Math.round(num * base) / base; };