File tree Expand file tree Collapse file tree 1 file changed +11
-4
lines changed
Expand file tree Collapse file tree 1 file changed +11
-4
lines changed Original file line number Diff line number Diff line change 1- type MaskType = 'currency' | 'phone' | 'date' | 'card' ;
21type Mask = string ;
32type CurrencyDivider = ',' | '.' ;
43
@@ -57,8 +56,15 @@ function getCurrencyDividerAndDecimal(divider: CurrencyDivider | undefined) {
5756 } ;
5857}
5958
60- function convertToNumber ( value : string , divider : CurrencyDivider ) : number {
61- return Number ( value . replace ( `/${ divider } /g` , '' ) ) ;
59+ function convertToNumber (
60+ value : string ,
61+ divider : CurrencyDivider ,
62+ decimal : CurrencyDivider ,
63+ ) : number {
64+ // Replace decimal with a dot to allow parsing with Number default constructor
65+ return Number (
66+ value . replace ( `/${ divider } /g` , '' ) . replace ( `/${ decimal } /` , '.' ) ,
67+ ) ;
6268}
6369
6470export function getValueFromCurrencyMask ( {
@@ -71,7 +77,8 @@ export function getValueFromCurrencyMask({
7177
7278 if ( value . length >= newValue . length ) return undefined ;
7379
74- const newValueAsNumber = convertToNumber ( newValue , divider ) ;
80+ const newValueAsNumber = convertToNumber ( newValue , divider , decimal ) ;
81+
7582 let decimalPlaces : number =
7683 maxDecimalPlaces !== undefined ? maxDecimalPlaces : 2 ;
7784
You can’t perform that action at this time.
0 commit comments