/// <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;
              }
        }