Skip to content

Commit cca00d2

Browse files
committed
Fix number formatting regex to handle custom decimal and separator correctly
1 parent 1477263 commit cca00d2

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

src/number-format.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ export default class NumberFormat {
6868
}
6969

7070
this.prefix = prefix
71-
this.numberRegExp = new RegExp(`[^0-9\\${decimal}]+`, 'gi')
71+
this.numberRegExp = new RegExp(`[^0-9\\${decimal || '.'}]+`, 'gi')
7272
this.cleanRegExp = new RegExp('[^0-9]+', 'gi')
7373
this.negativeRegExp = new RegExp('[^0-9\\-]+', 'gi')
7474
this.isCustomDecimal = decimal !== '.'
@@ -153,7 +153,13 @@ export default class NumberFormat {
153153
.replace(new RegExp(MINUS, 'g'), '')
154154

155155
const hasCustomDecimal = this.input.toString().indexOf(decimal) >= 0 && this.isCustomDecimal
156-
const realNumber = number.replace(new RegExp(`\\${separator}`, 'g'), '').replace(decimal, '.')
156+
let realNumber = number
157+
158+
if (separator) {
159+
realNumber = realNumber.replace(new RegExp(`\\${separator}`, 'g'), '')
160+
}
161+
162+
realNumber = realNumber.replace(decimal, '.')
157163

158164
if (typeof this.input === 'number') {
159165
this.number = this.parts(number, '.').join(decimal)

0 commit comments

Comments
 (0)