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);