Grouping & Decimal Separators Dependent Upon Language vs. Locale


(Captain Crypto) #1

We are currently building an application that requires the user to type in fiat money amounts, which means that they must enter their data with a decimal pad / keyboard. Unfortunately, it appears that on iOS the decimal symbol on the keyboard is decided upon by the language of the device while the locale information seems to base it upon the locale. As a result we have users who are trying to enter a decimal place (for example a comma, “,” for Italian people) but our Javascript is treating it as an unnecessary grouping separator and stripping it out of the input.

Is this an issue with iOS or React Native? Unfortunately there is no easy fix because we cannot tell if the user is in the middle of entering a large number that they think will need grouping separators (eg number in the thousands or millions), or accidentally entering a trailing (unnecessary) decimal point at the end of the number.