29 lines
1001 B
C#
29 lines
1001 B
C#
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);
|
|
}
|
|
}
|
|
}
|
|
}
|