For example the following culture: this.currency.Culture = new System.Globalization.CultureInfo("prs-AF"); has this.currency.Culture.NumberFormat {System.Globalization.NumberFormatInfo} CurrencyDecimalDigits: 2 ===> CurrencyDecimalSeparator: "." ===> CurrencyGroupSeparator: "," CurrencyGroupSizes: {int[1]} CurrencyNegativePattern: 3 CurrencyPositivePattern: 0 CurrencySymbol: "؋" DigitSubstitution: NativeNational IsReadOnly: false NaNSymbol: "ناعدد" NativeDigits: {string[10]} NegativeInfinitySymbol: "-∞" NegativeSign: "-" NumberDecimalDigits: 2 ===> NumberDecimalSeparator: "," ===> NumberGroupSeparator: "." NumberGroupSizes: {int[1]} NumberNegativePattern: 3 PerMilleSymbol: "‰" PercentDecimalDigits: 2 PercentDecimalSeparator: "," PercentGroupSeparator: "." PercentGroupSizes: {int[1]} PercentNegativePattern: 1 PercentPositivePattern: 1 PercentSymbol: "%" PositiveInfinitySymbol: "∞" PositiveSign: "+" Typing 12345 in the control produces Value 123 which is wrong. Parsing becomes wrong after the group separator kicks in.