Always remove spaces when converting value to number in domain parser

Closes #14753
(grafted from 7c1f80fc2322fc6c47fc61990f3c7f64e9e86147)

--HG--
branch : 7.0
This commit is contained in:
Cédric Krier committed 2026-04-08 14:31:55 +02:00
1 parent da89d84b74
commit 633381a155
2 files changed
+4 -3

No files matched your search

+1
View File
@@ -2074,6 +2074,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
@@ -231,21 +231,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