diff --git a/src/utils/format/number.ts b/src/utils/format/number.ts index 4a6004ad5..e1c71567b 100644 --- a/src/utils/format/number.ts +++ b/src/utils/format/number.ts @@ -4,12 +4,16 @@ export function range(num: number, min: number, max: number): number { function trimExtraChar(value: string, char: string, regExp: RegExp) { const index = value.indexOf(char); - - if (index > -1) { - return value.slice(0, index + 1) + value.slice(index).replace(regExp, ''); + + if (index === -1) { + return value; } - return value; + if (char === '-' && index !== 0) { + return value.slice(0, index); + } + + return value.slice(0, index + 1) + value.slice(index).replace(regExp, ''); } export function formatNumber(value: string, allowDot?: boolean) { diff --git a/src/utils/test/index.spec.js b/src/utils/test/index.spec.js index 8ce27efbe..281c07dc9 100644 --- a/src/utils/test/index.spec.js +++ b/src/utils/test/index.spec.js @@ -113,4 +113,5 @@ test('formatNumber', () => { expect(formatNumber('-1.2')).toEqual('-1'); expect(formatNumber('-1.2', true)).toEqual('-1.2'); expect(formatNumber('-1.2-', true)).toEqual('-1.2'); + expect(formatNumber('123-')).toEqual('123'); });