The client-side parseFloat method simply ignores thousands of separators, which is why Globalize.parseFloat ("7, 1, 2.12", 10, "en-CA") returns 712.12 (the thousands separator in this culture is ",").
The thousands separator for fr-CA culture is space, so Globalize.parseFloat ("7 1 2,12", 10, "fr-CA") returns 712.12.
A decimal point can occur only once. For en-CA it is ".", For fr-CA it is ",". Thus, all examples containing more than one decimal point will return NaN.
The only thing I canβt explain is why Globalize.parseFloat ("7.12", 10, "fr-CA") returns 7.12. This is strange because neither the decimal point nor the thousands separator are "." in this culture, therefore it should return NaN.
source share