From af8fbc16d67c7a628374a3442592a3cf2baa58ff Mon Sep 17 00:00:00 2001 From: tomxwang <289758716@qq.com> Date: Thu, 28 Apr 2022 22:04:57 +0800 Subject: [PATCH] no value should use decimals (#48155) --- packages/grafana-data/src/valueFormats/valueFormats.test.ts | 3 +++ packages/grafana-data/src/valueFormats/valueFormats.ts | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/packages/grafana-data/src/valueFormats/valueFormats.test.ts b/packages/grafana-data/src/valueFormats/valueFormats.test.ts index 202eeccfe4d..1ad66c8fdff 100644 --- a/packages/grafana-data/src/valueFormats/valueFormats.test.ts +++ b/packages/grafana-data/src/valueFormats/valueFormats.test.ts @@ -103,6 +103,9 @@ describe('valueFormats', () => { expect(toFixed(100.4, 2)).toBe('100.40'); expect(toFixed(100.5, 2)).toBe('100.50'); + + expect(toFixed(0, 1)).toBe('0.0'); + expect(toFixed(0, 2)).toBe('0.00'); }); }); diff --git a/packages/grafana-data/src/valueFormats/valueFormats.ts b/packages/grafana-data/src/valueFormats/valueFormats.ts index c0ea18dfd31..805f53fa740 100644 --- a/packages/grafana-data/src/valueFormats/valueFormats.ts +++ b/packages/grafana-data/src/valueFormats/valueFormats.ts @@ -56,6 +56,10 @@ export function toFixed(value: number, decimals?: DecimalCount): string { decimals = getDecimalsForValue(value); } + if (value === 0) { + return value.toFixed(decimals); + } + const factor = decimals ? Math.pow(10, Math.max(0, decimals)) : 1; const formatted = String(Math.round(value * factor) / factor);