不应数字趋势.避免数千个只允许分离器在En-US文化中的千分之一



我只想在千分之一允许使用逗号的数字字符串值,但是该代码无法正常工作,并成功地解析了" 2,22",该" 2,22"在千上没有逗号。

   double dollarValue;
           var dollarStringValue="2,22";
            var usCulture = CultureInfo.CreateSpecificCulture("en-US");
            var allowedNumberStyle = NumberStyles.AllowThousands | NumberStyles.AllowDecimalPoint;
            if (double.TryParse(dollarStringValue, allowedNumberStyle, usCulture, out dollarValue))
            { 
            // This is parsed successfully to 222
             Console.WriteLine(dollarValue);
            }

这是数字的预期行为。在EN-US文化中允许数千种(它具有数字formatinfo.numbergroupsizes设置为3)吗?还是我想念STH?

使用.NET 4.5

如果要验证字符串匹配模式n,nnn,nnn,nnn ...尝试正则表达式,类似于

Regex r = new Regex(@"^d{1,3}(,ddd)*$");
if(r.IsMatch(yourNumber))
  ...

最新更新