using System; using System.Globalization; using System.Threading; namespace Xylem.Common.Utils.UserAccessCtrl { internal static class ParseExtensions { private static readonly NumberStyles any = NumberStyles.Any; private static readonly CultureInfo de = new CultureInfo("de-DE"); private static readonly CultureInfo us = new CultureInfo("en-US"); private static Boolean IsDECulture => Thread.CurrentThread.CurrentCulture.Name.ToLower().Contains("de"); internal static Boolean TryParse(this String stringValue, out Double value) { if (IsDECulture) { return double.TryParse(stringValue, any, de, out value) || double.TryParse(stringValue, any, us, out value); } else { return double.TryParse(stringValue, any, us, out value) || double.TryParse(stringValue, any, de, out value); } } } }