From e5f48739a0c37ece5836166e5ca63d9de5138d3f Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Fri, 19 Jan 2024 06:29:13 -0800 Subject: [PATCH] Fix: Dont parse numbers with exponent as integer (#5457) --- .../components/common/input/number/number.component.spec.ts | 5 +++++ .../app/components/common/input/number/number.component.ts | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src-ui/src/app/components/common/input/number/number.component.spec.ts b/src-ui/src/app/components/common/input/number/number.component.spec.ts index 889aa2198..9024614bb 100644 --- a/src-ui/src/app/components/common/input/number/number.component.spec.ts +++ b/src-ui/src/app/components/common/input/number/number.component.spec.ts @@ -60,4 +60,9 @@ describe('NumberComponent', () => { component.writeValue(11.1) expect(component.value).toEqual(11.1) }) + + it('should support scientific notation', () => { + component.writeValue(1.23456789e8) + expect(component.value).toEqual(123456789) + }) }) diff --git a/src-ui/src/app/components/common/input/number/number.component.ts b/src-ui/src/app/components/common/input/number/number.component.ts index 0b113a4de..6675e4498 100644 --- a/src-ui/src/app/components/common/input/number/number.component.ts +++ b/src-ui/src/app/components/common/input/number/number.component.ts @@ -37,7 +37,8 @@ export class NumberComponent extends AbstractInputComponent<number> { } writeValue(newValue: any): void { - if (this.step === 1) newValue = parseInt(newValue, 10) + if (this.step === 1 && newValue?.toString().indexOf('e') === -1) + newValue = parseInt(newValue, 10) if (this.step === 0.01) newValue = parseFloat(newValue).toFixed(2) super.writeValue(newValue) }