From 955e07b5aed62acd8afba10f9eaa68b90d72bb74 Mon Sep 17 00:00:00 2001 From: Sean Lynch Date: Wed, 14 May 2025 11:52:32 -0400 Subject: [PATCH] fix(format): Do not truncate decimal values when using `metric` preset (ex. 0.5) --- .changeset/real-spoons-hunt.md | 5 +++++ packages/utils/src/lib/number.test.ts | 15 +++++++++++++++ packages/utils/src/lib/number.ts | 1 - 3 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 .changeset/real-spoons-hunt.md diff --git a/.changeset/real-spoons-hunt.md b/.changeset/real-spoons-hunt.md new file mode 100644 index 0000000..8a08cdf --- /dev/null +++ b/.changeset/real-spoons-hunt.md @@ -0,0 +1,5 @@ +--- +'@layerstack/utils': patch +--- + +fix(format): Do not truncate decimal values when using `metric` preset (ex. 0.5) diff --git a/packages/utils/src/lib/number.test.ts b/packages/utils/src/lib/number.test.ts index f4efd63..b3a9b79 100644 --- a/packages/utils/src/lib/number.test.ts +++ b/packages/utils/src/lib/number.test.ts @@ -275,4 +275,19 @@ describe('formatNumber()', () => { }); expect(actual).equal('200 m²'); }); + + it('0.5 (decimal)', () => { + const actual = formatNumber(0.5, 'metric'); + expect(actual).equal('0.5'); + }); + + it('0.05 (decimal)', () => { + const actual = formatNumber(0.05, 'metric'); + expect(actual).equal('0.05'); + }); + + it('0.005 (decimal)', () => { + const actual = formatNumber(0.005, 'metric'); + expect(actual).equal('0.01'); + }); }); diff --git a/packages/utils/src/lib/number.ts b/packages/utils/src/lib/number.ts index 7e01a94..a1b34ed 100644 --- a/packages/utils/src/lib/number.ts +++ b/packages/utils/src/lib/number.ts @@ -98,7 +98,6 @@ export function formatNumberWithLocale( style: 'decimal', notation: 'compact', minimumFractionDigits: 0, - maximumFractionDigits: 0, }), // Let's overwrite for style=integer