/// <summary> /// Returns an array of valid numeric char /// </summary> /// <param name="p_Culture">If null the current culture is used</param> /// <param name="p_NumericCharStyle">The numeric char style.</param> /// <returns></returns> public static char[] CreateNumericValidChars(System.Globalization.CultureInfo p_Culture, NumericCharStyles p_NumericCharStyle) { if (p_Culture == null) { p_Culture = System.Globalization.CultureInfo.CurrentCulture; } string l_AllowedChars = "0123456789"; if ((p_NumericCharStyle & NumericCharStyles.CurrencySymbol) == NumericCharStyles.CurrencySymbol) { l_AllowedChars += p_Culture.NumberFormat.CurrencySymbol; if ((p_NumericCharStyle & NumericCharStyles.DecimalSeparator) == NumericCharStyles.DecimalSeparator) { l_AllowedChars += p_Culture.NumberFormat.CurrencyDecimalSeparator; } if ((p_NumericCharStyle & NumericCharStyles.GroupSeparator) == NumericCharStyles.GroupSeparator) { l_AllowedChars += p_Culture.NumberFormat.CurrencyGroupSeparator; } } if ((p_NumericCharStyle & NumericCharStyles.PercentSymbol) == NumericCharStyles.PercentSymbol) { l_AllowedChars += p_Culture.NumberFormat.PercentSymbol; if ((p_NumericCharStyle & NumericCharStyles.DecimalSeparator) == NumericCharStyles.DecimalSeparator) { l_AllowedChars += p_Culture.NumberFormat.PercentDecimalSeparator; } if ((p_NumericCharStyle & NumericCharStyles.GroupSeparator) == NumericCharStyles.GroupSeparator) { l_AllowedChars += p_Culture.NumberFormat.PercentGroupSeparator; } } if ((p_NumericCharStyle & NumericCharStyles.DecimalSeparator) == NumericCharStyles.DecimalSeparator) { l_AllowedChars += p_Culture.NumberFormat.NumberDecimalSeparator; } if ((p_NumericCharStyle & NumericCharStyles.GroupSeparator) == NumericCharStyles.GroupSeparator) { l_AllowedChars += p_Culture.NumberFormat.NumberGroupSeparator; } if ((p_NumericCharStyle & NumericCharStyles.InfinitySymbol) == NumericCharStyles.InfinitySymbol) { l_AllowedChars += p_Culture.NumberFormat.NegativeInfinitySymbol; l_AllowedChars += p_Culture.NumberFormat.PositiveInfinitySymbol; } if ((p_NumericCharStyle & NumericCharStyles.NaNSymbol) == NumericCharStyles.NaNSymbol) { l_AllowedChars += p_Culture.NumberFormat.NaNSymbol; } if ((p_NumericCharStyle & NumericCharStyles.NegativeSymbol) == NumericCharStyles.NegativeSymbol) { l_AllowedChars += p_Culture.NumberFormat.NegativeSign; } if ((p_NumericCharStyle & NumericCharStyles.PerMilleSymbol) == NumericCharStyles.PerMilleSymbol) { l_AllowedChars += p_Culture.NumberFormat.PerMilleSymbol; } if ((p_NumericCharStyle & NumericCharStyles.PositiveSymbol) == NumericCharStyles.PositiveSymbol) { l_AllowedChars += p_Culture.NumberFormat.PositiveSign; } if (l_AllowedChars.Length > 0) { return(l_AllowedChars.ToCharArray()); } else { return(null); } }
/// <summary> /// Returns an array of valid numeric char /// </summary> /// <param name="p_Culture">If null the current culture is used</param> /// <param name="p_NumericCharStyle">The numeric char style.</param> /// <returns></returns> public static char[] CreateNumericValidChars(System.Globalization.CultureInfo p_Culture, NumericCharStyles p_NumericCharStyle) { if (p_Culture == null) { p_Culture = System.Globalization.CultureInfo.CurrentCulture; } string l_AllowedChars = "0123456789"; if ((p_NumericCharStyle & NumericCharStyles.CurrencySymbol) == NumericCharStyles.CurrencySymbol) { l_AllowedChars += p_Culture.NumberFormat.CurrencySymbol; if ((p_NumericCharStyle & NumericCharStyles.DecimalSeparator) == NumericCharStyles.DecimalSeparator) { l_AllowedChars += p_Culture.NumberFormat.CurrencyDecimalSeparator; } if ((p_NumericCharStyle & NumericCharStyles.GroupSeparator) == NumericCharStyles.GroupSeparator) { l_AllowedChars += p_Culture.NumberFormat.CurrencyGroupSeparator; } } if ((p_NumericCharStyle & NumericCharStyles.PercentSymbol) == NumericCharStyles.PercentSymbol) { l_AllowedChars += p_Culture.NumberFormat.PercentSymbol; if ((p_NumericCharStyle & NumericCharStyles.DecimalSeparator) == NumericCharStyles.DecimalSeparator) { l_AllowedChars += p_Culture.NumberFormat.PercentDecimalSeparator; } if ((p_NumericCharStyle & NumericCharStyles.GroupSeparator) == NumericCharStyles.GroupSeparator) { l_AllowedChars += p_Culture.NumberFormat.PercentGroupSeparator; } } if ((p_NumericCharStyle & NumericCharStyles.DecimalSeparator) == NumericCharStyles.DecimalSeparator) { l_AllowedChars += p_Culture.NumberFormat.NumberDecimalSeparator; } if ((p_NumericCharStyle & NumericCharStyles.GroupSeparator) == NumericCharStyles.GroupSeparator) { l_AllowedChars += p_Culture.NumberFormat.NumberGroupSeparator; } if ((p_NumericCharStyle & NumericCharStyles.InfinitySymbol) == NumericCharStyles.InfinitySymbol) { l_AllowedChars += p_Culture.NumberFormat.NegativeInfinitySymbol; l_AllowedChars += p_Culture.NumberFormat.PositiveInfinitySymbol; } if ((p_NumericCharStyle & NumericCharStyles.NaNSymbol) == NumericCharStyles.NaNSymbol) { l_AllowedChars += p_Culture.NumberFormat.NaNSymbol; } if ((p_NumericCharStyle & NumericCharStyles.NegativeSymbol) == NumericCharStyles.NegativeSymbol) { l_AllowedChars += p_Culture.NumberFormat.NegativeSign; } if ((p_NumericCharStyle & NumericCharStyles.PerMilleSymbol) == NumericCharStyles.PerMilleSymbol) { l_AllowedChars += p_Culture.NumberFormat.PerMilleSymbol; } if ((p_NumericCharStyle & NumericCharStyles.PositiveSymbol) == NumericCharStyles.PositiveSymbol) { l_AllowedChars += p_Culture.NumberFormat.PositiveSign; } if (l_AllowedChars.Length > 0) { return l_AllowedChars.ToCharArray(); } else { return null; } }