Always remove spaces when converting value to number in domain parser

Closes #14753
(grafted from 7c1f80fc2322fc6c47fc61990f3c7f64e9e86147)

--HG--
branch : 6.0
This commit is contained in:
Cédric Krier
2026-04-08 14:31:55 +02:00
parent 0520862e88
commit 3fbb5fad6f
2 changed files with 4 additions and 3 deletions
+1
View File
@@ -2025,6 +2025,7 @@
let [, thousandSeparator] = /^10(.)?000/.exec(format(10000));
let [, decimalSign] = /^0(.)1$/.exec(format(0.1));
return Number(string
.replace(new RegExp(' ', 'g'), '')
.replace(new RegExp(thousandSeparator, 'g'), '')
.replace(decimalSign, '.'));
}
+3 -3
View File
@@ -229,21 +229,21 @@ def convert_value(field, value, context=None):
def convert_float():
factor = float(field.get('factor', 1))
try:
return locale.atof(value) / factor
return locale.atof(value.replace(' ', '')) / factor
except (ValueError, AttributeError):
return
def convert_integer():
factor = float(field.get('factor', 1))
try:
return int(locale.atof(value) / factor)
return int(locale.atof(value.replace(' ', '')) / factor)
except (ValueError, AttributeError):
return
def convert_numeric():
factor = Decimal(field.get('factor', 1))
try:
return Decimal(locale.delocalize(value)) / factor
return Decimal(locale.delocalize(value.replace(' ', ''))) / factor
except (decimal.InvalidOperation, AttributeError):
return